fixes merge issue
This commit is contained in:
@@ -5,5 +5,8 @@
|
||||
string ForcePortnumber { get; }
|
||||
string ForceProtocol { get; }
|
||||
string ServerAddress { get; }
|
||||
|
||||
string AppId { get; }
|
||||
string ServerName { get; }
|
||||
}
|
||||
}
|
||||
@@ -26,5 +26,24 @@
|
||||
{
|
||||
get { return Value; }
|
||||
}
|
||||
|
||||
public string AppId
|
||||
{
|
||||
get
|
||||
{
|
||||
return RawXml.Attribute("appId") == null
|
||||
? null
|
||||
: RawXml.Attribute("appId").Value;
|
||||
}
|
||||
}
|
||||
public string ServerName
|
||||
{
|
||||
get
|
||||
{
|
||||
return RawXml.Attribute("serverName") == null
|
||||
? null
|
||||
: RawXml.Attribute("serverName").Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,21 +28,18 @@ namespace Umbraco.Core.Sync
|
||||
return string.Format("http://{0}", ApplicationContext.Current.OriginalRequestUrl);
|
||||
}
|
||||
|
||||
var servers = UmbracoSettings.DistributionServers;
|
||||
var servers = UmbracoConfig.For.UmbracoSettings().DistributedCall.Servers.ToArray();
|
||||
|
||||
var nodes = servers.SelectNodes("./server");
|
||||
if (nodes == null)
|
||||
if (servers.Any() == false)
|
||||
{
|
||||
//cannot be determined, then the base url has to be the first url registered
|
||||
return string.Format("http://{0}", ApplicationContext.Current.OriginalRequestUrl);
|
||||
}
|
||||
|
||||
var xmlNodes = nodes.Cast<XmlNode>().ToList();
|
||||
|
||||
foreach (var xmlNode in xmlNodes)
|
||||
foreach (var server in servers)
|
||||
{
|
||||
var appId = xmlNode.AttributeValue<string>("appId");
|
||||
var serverName = xmlNode.AttributeValue<string>("serverName");
|
||||
var appId = server.AppId;
|
||||
var serverName = server.ServerName;
|
||||
|
||||
if (appId.IsNullOrWhiteSpace() && serverName.IsNullOrWhiteSpace())
|
||||
{
|
||||
@@ -54,9 +51,9 @@ namespace Umbraco.Core.Sync
|
||||
{
|
||||
//match by appId or computer name! return the url configured
|
||||
return string.Format("{0}://{1}:{2}/{3}",
|
||||
xmlNode.AttributeValue<string>("forceProtocol").IsNullOrWhiteSpace() ? "http" : xmlNode.AttributeValue<string>("forceProtocol"),
|
||||
xmlNode.InnerText,
|
||||
xmlNode.AttributeValue<string>("forcePortnumber").IsNullOrWhiteSpace() ? "80" : xmlNode.AttributeValue<string>("forcePortnumber"),
|
||||
server.ForceProtocol.IsNullOrWhiteSpace() ? "http" : server.ForceProtocol,
|
||||
server.ServerAddress,
|
||||
server.ForcePortnumber.IsNullOrWhiteSpace() ? "80" : server.ForcePortnumber,
|
||||
IOHelper.ResolveUrl(SystemDirectories.Umbraco).TrimStart('/'));
|
||||
}
|
||||
}
|
||||
@@ -71,20 +68,19 @@ namespace Umbraco.Core.Sync
|
||||
/// <returns></returns>
|
||||
public static CurrentServerEnvironmentStatus GetStatus()
|
||||
{
|
||||
if (UmbracoSettings.UseDistributedCalls == false)
|
||||
if (UmbracoConfig.For.UmbracoSettings().DistributedCall.Enabled == false)
|
||||
{
|
||||
return CurrentServerEnvironmentStatus.Single;
|
||||
}
|
||||
|
||||
var servers = UmbracoSettings.DistributionServers;
|
||||
var servers = UmbracoConfig.For.UmbracoSettings().DistributedCall.Servers.ToArray();
|
||||
|
||||
var nodes = servers.SelectNodes("./server");
|
||||
if (nodes == null)
|
||||
if (servers.Any() == false)
|
||||
{
|
||||
return CurrentServerEnvironmentStatus.Unknown;
|
||||
}
|
||||
|
||||
var master = nodes.Cast<XmlNode>().FirstOrDefault();
|
||||
var master = servers.FirstOrDefault();
|
||||
|
||||
if (master == null)
|
||||
{
|
||||
@@ -95,8 +91,8 @@ namespace Umbraco.Core.Sync
|
||||
//TODO: In v7 we have publicized ServerRegisterResolver - we won't be able to determine this based on that
|
||||
// but we'd need to change the IServerAddress interfaces which is breaking.
|
||||
|
||||
var appId = master.AttributeValue<string>("appId");
|
||||
var serverName = master.AttributeValue<string>("serverName");
|
||||
var appId = master.AppId;
|
||||
var serverName = master.ServerName;
|
||||
|
||||
if (appId.IsNullOrWhiteSpace() && serverName.IsNullOrWhiteSpace())
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Xml;
|
||||
using Umbraco.Core.Configuration;
|
||||
@@ -43,35 +44,29 @@ namespace Umbraco.Web.Scheduling
|
||||
{
|
||||
|
||||
|
||||
var scheduledTasks = UmbracoSettings.ScheduledTasks;
|
||||
if (scheduledTasks != null)
|
||||
var scheduledTasks = UmbracoConfig.For.UmbracoSettings().ScheduledTasks.Tasks;
|
||||
foreach (var t in scheduledTasks)
|
||||
{
|
||||
var tasks = scheduledTasks.SelectNodes("./task");
|
||||
if (tasks == null) return;
|
||||
|
||||
foreach (XmlNode task in tasks)
|
||||
var runTask = false;
|
||||
if (!ScheduledTaskTimes.ContainsKey(t.Alias))
|
||||
{
|
||||
var runTask = false;
|
||||
if (ScheduledTaskTimes.ContainsKey(task.Attributes.GetNamedItem("alias").Value) == false)
|
||||
{
|
||||
runTask = true;
|
||||
ScheduledTaskTimes.Add(task.Attributes.GetNamedItem("alias").Value, DateTime.Now);
|
||||
}
|
||||
// Add 1 second to timespan to compensate for differencies in timer
|
||||
else if (new TimeSpan(
|
||||
DateTime.Now.Ticks - ((DateTime)ScheduledTaskTimes[task.Attributes.GetNamedItem("alias").Value]).Ticks).TotalSeconds + 1
|
||||
>= int.Parse(task.Attributes.GetNamedItem("interval").Value))
|
||||
{
|
||||
runTask = true;
|
||||
ScheduledTaskTimes[task.Attributes.GetNamedItem("alias").Value] = DateTime.Now;
|
||||
}
|
||||
runTask = true;
|
||||
ScheduledTaskTimes.Add(t.Alias, DateTime.Now);
|
||||
}
|
||||
/// Add 1 second to timespan to compensate for differencies in timer
|
||||
else if (
|
||||
new TimeSpan(
|
||||
DateTime.Now.Ticks - ((DateTime)ScheduledTaskTimes[t.Alias]).Ticks).TotalSeconds + 1 >= t.Interval)
|
||||
{
|
||||
runTask = true;
|
||||
ScheduledTaskTimes[t.Alias] = DateTime.Now;
|
||||
}
|
||||
|
||||
if (runTask)
|
||||
{
|
||||
bool taskResult = GetTaskByHttp(task.Attributes.GetNamedItem("url").Value);
|
||||
if (bool.Parse(task.Attributes.GetNamedItem("log").Value))
|
||||
LogHelper.Info<ScheduledTasks>(string.Format("{0} has been called with response: {1}", task.Attributes.GetNamedItem("alias").Value, taskResult));
|
||||
}
|
||||
if (runTask)
|
||||
{
|
||||
bool taskResult = GetTaskByHttp(t.Url);
|
||||
if (t.Log)
|
||||
LogHelper.Info<ScheduledTasks>(string.Format("{0} has been called with response: {1}", t.Alias, taskResult));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user