集成测试通过,定时调度成功
This commit is contained in:
parent
6d0e927224
commit
f9528b2ce3
|
@ -16,15 +16,6 @@ var set = AntSetting.Current;
|
|||
var scheduler = new Scheduler
|
||||
{
|
||||
ServiceProvider = services.BuildServiceProvider(),
|
||||
|
||||
//// 使用分布式调度引擎替换默认的本地文件调度
|
||||
//Provider = new NetworkJobProvider
|
||||
//{
|
||||
// Debug = set.Debug,
|
||||
// Server = set.Server,
|
||||
// AppID = set.AppID,
|
||||
// Secret = set.Secret,
|
||||
//}
|
||||
};
|
||||
|
||||
scheduler.Join(set.Server, set.AppID, set.Secret, set.Debug);
|
||||
|
|
|
@ -1,46 +1,43 @@
|
|||
using System;
|
||||
namespace AntJob.Data;
|
||||
|
||||
namespace AntJob.Data
|
||||
/// <summary>作业参数</summary>
|
||||
public interface IJob
|
||||
{
|
||||
/// <summary>作业参数</summary>
|
||||
public interface IJob
|
||||
{
|
||||
/// <summary>名称</summary>
|
||||
String Name { get; set; }
|
||||
/// <summary>名称</summary>
|
||||
String Name { get; set; }
|
||||
|
||||
/// <summary>类名。支持该作业的处理器实现</summary>
|
||||
String ClassName { get; set; }
|
||||
/// <summary>类名。支持该作业的处理器实现</summary>
|
||||
String ClassName { get; set; }
|
||||
|
||||
/// <summary>是否启用</summary>
|
||||
Boolean Enable { get; set; }
|
||||
/// <summary>是否启用</summary>
|
||||
Boolean Enable { get; set; }
|
||||
|
||||
/// <summary>开始。大于等于该时间,定时作业和数据作业使用</summary>
|
||||
DateTime Start { get; set; }
|
||||
/// <summary>开始。大于等于该时间,定时作业和数据作业使用</summary>
|
||||
DateTime Start { get; set; }
|
||||
|
||||
/// <summary>结束。小于该时间,数据作业使用</summary>
|
||||
DateTime End { get; set; }
|
||||
/// <summary>结束。小于该时间,数据作业使用</summary>
|
||||
DateTime End { get; set; }
|
||||
|
||||
/// <summary>时间偏移。距离实时时间的秒数,部分业务不能跑到实时</summary>
|
||||
Int32 Offset { get; set; }
|
||||
/// <summary>时间偏移。距离实时时间的秒数,部分业务不能跑到实时</summary>
|
||||
Int32 Offset { get; set; }
|
||||
|
||||
/// <summary>步进。最大区间大小,秒</summary>
|
||||
Int32 Step { get; set; }
|
||||
/// <summary>步进。最大区间大小,秒</summary>
|
||||
Int32 Step { get; set; }
|
||||
|
||||
/// <summary>批大小</summary>
|
||||
Int32 BatchSize { get; set; }
|
||||
/// <summary>批大小</summary>
|
||||
Int32 BatchSize { get; set; }
|
||||
|
||||
/// <summary>并行度。最大同时执行任务数</summary>
|
||||
Int32 MaxTask { get; set; }
|
||||
/// <summary>并行度。最大同时执行任务数</summary>
|
||||
Int32 MaxTask { get; set; }
|
||||
|
||||
/// <summary>调度模式。定时调度只要达到时间片开头就可以跑,数据调度要求达到时间片末尾才可以跑</summary>
|
||||
JobModes Mode { get; set; }
|
||||
/// <summary>调度模式。定时调度只要达到时间片开头就可以跑,数据调度要求达到时间片末尾才可以跑</summary>
|
||||
JobModes Mode { get; set; }
|
||||
|
||||
/// <summary>消息主题</summary>
|
||||
String Topic { get; set; }
|
||||
/// <summary>消息主题</summary>
|
||||
String Topic { get; set; }
|
||||
|
||||
/// <summary>数据</summary>
|
||||
String Data { get; set; }
|
||||
}
|
||||
/// <summary>数据</summary>
|
||||
String Data { get; set; }
|
||||
}
|
||||
|
||||
public partial class JobModel : IJob { }
|
||||
}
|
||||
public partial class JobModel : IJob { }
|
|
@ -1,28 +1,25 @@
|
|||
using System;
|
||||
namespace AntJob.Data;
|
||||
|
||||
namespace AntJob.Data
|
||||
/// <summary>邻居伙伴</summary>
|
||||
public interface IPeer
|
||||
{
|
||||
/// <summary>邻居伙伴</summary>
|
||||
public interface IPeer
|
||||
{
|
||||
/// <summary>实例。IP加端口,唯一</summary>
|
||||
String Instance { get; set; }
|
||||
/// <summary>实例。IP加端口,唯一</summary>
|
||||
String Instance { get; set; }
|
||||
|
||||
/// <summary>客户端。IP加进程</summary>
|
||||
String Client { get; set; }
|
||||
/// <summary>客户端。IP加进程</summary>
|
||||
String Client { get; set; }
|
||||
|
||||
/// <summary>名称。机器名称</summary>
|
||||
String Machine { get; set; }
|
||||
/// <summary>名称。机器名称</summary>
|
||||
String Machine { get; set; }
|
||||
|
||||
/// <summary>版本。客户端</summary>
|
||||
String Version { get; set; }
|
||||
/// <summary>版本。客户端</summary>
|
||||
String Version { get; set; }
|
||||
|
||||
/// <summary>创建时间</summary>
|
||||
DateTime CreateTime { get; set; }
|
||||
/// <summary>创建时间</summary>
|
||||
DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>更新时间</summary>
|
||||
DateTime UpdateTime { get; set; }
|
||||
}
|
||||
/// <summary>更新时间</summary>
|
||||
DateTime UpdateTime { get; set; }
|
||||
}
|
||||
|
||||
public partial class PeerModel : IPeer { }
|
||||
}
|
||||
public partial class PeerModel : IPeer { }
|
|
@ -1,74 +1,72 @@
|
|||
using System;
|
||||
using System.Xml.Serialization;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace AntJob.Data
|
||||
namespace AntJob.Data;
|
||||
|
||||
/// <summary>作业模型</summary>
|
||||
/// <remarks>定时调度只要达到时间片开头就可以跑,数据调度要求达到时间片末尾才可以跑</remarks>
|
||||
public partial class JobModel
|
||||
{
|
||||
/// <summary>作业模型</summary>
|
||||
/// <remarks>定时调度只要达到时间片开头就可以跑,数据调度要求达到时间片末尾才可以跑</remarks>
|
||||
public partial class JobModel
|
||||
{
|
||||
#region 属性
|
||||
/// <summary>名称</summary>
|
||||
[XmlAttribute]
|
||||
public String Name { get; set; }
|
||||
#region 属性
|
||||
/// <summary>名称</summary>
|
||||
[XmlAttribute]
|
||||
public String Name { get; set; }
|
||||
|
||||
/// <summary>类名。支持该作业的处理器实现</summary>
|
||||
[XmlAttribute]
|
||||
public String ClassName { get; set; }
|
||||
/// <summary>类名。支持该作业的处理器实现</summary>
|
||||
[XmlAttribute]
|
||||
public String ClassName { get; set; }
|
||||
|
||||
/// <summary>是否启用</summary>
|
||||
[XmlAttribute]
|
||||
public Boolean Enable { get; set; }
|
||||
/// <summary>是否启用</summary>
|
||||
[XmlAttribute]
|
||||
public Boolean Enable { get; set; }
|
||||
|
||||
/// <summary>开始。大于等于</summary>
|
||||
[XmlAttribute]
|
||||
public DateTime Start { get; set; }
|
||||
/// <summary>开始。大于等于</summary>
|
||||
[XmlAttribute]
|
||||
public DateTime Start { get; set; }
|
||||
|
||||
/// <summary>结束。小于</summary>
|
||||
[XmlAttribute]
|
||||
public DateTime End { get; set; }
|
||||
/// <summary>结束。小于</summary>
|
||||
[XmlAttribute]
|
||||
public DateTime End { get; set; }
|
||||
|
||||
/// <summary>时间偏移。距离实时时间的秒数,部分业务不能跑到实时</summary>
|
||||
[XmlAttribute]
|
||||
public Int32 Offset { get; set; }
|
||||
/// <summary>时间偏移。距离实时时间的秒数,部分业务不能跑到实时</summary>
|
||||
[XmlAttribute]
|
||||
public Int32 Offset { get; set; }
|
||||
|
||||
/// <summary>步进。最大区间大小,秒</summary>
|
||||
[XmlAttribute]
|
||||
public Int32 Step { get; set; }
|
||||
/// <summary>步进。最大区间大小,秒</summary>
|
||||
[XmlAttribute]
|
||||
public Int32 Step { get; set; }
|
||||
|
||||
/// <summary>批大小</summary>
|
||||
[XmlAttribute]
|
||||
public Int32 BatchSize { get; set; } = 5000;
|
||||
/// <summary>批大小</summary>
|
||||
[XmlAttribute]
|
||||
public Int32 BatchSize { get; set; } = 5000;
|
||||
|
||||
/// <summary>最大任务数</summary>
|
||||
[XmlAttribute]
|
||||
public Int32 MaxTask { get; set; }
|
||||
/// <summary>最大任务数</summary>
|
||||
[XmlAttribute]
|
||||
public Int32 MaxTask { get; set; }
|
||||
|
||||
/// <summary>调度模式。定时调度只要达到时间片开头就可以跑,数据调度要求达到时间片末尾才可以跑</summary>
|
||||
[XmlAttribute]
|
||||
public JobModes Mode { get; set; }
|
||||
/// <summary>调度模式。定时调度只要达到时间片开头就可以跑,数据调度要求达到时间片末尾才可以跑</summary>
|
||||
[XmlAttribute]
|
||||
public JobModes Mode { get; set; }
|
||||
|
||||
/// <summary>显示名</summary>
|
||||
[XmlAttribute]
|
||||
public String DisplayName { get; set; }
|
||||
/// <summary>显示名</summary>
|
||||
[XmlAttribute]
|
||||
public String DisplayName { get; set; }
|
||||
|
||||
/// <summary>描述</summary>
|
||||
[XmlAttribute]
|
||||
public String Description { get; set; }
|
||||
/// <summary>描述</summary>
|
||||
[XmlAttribute]
|
||||
public String Description { get; set; }
|
||||
|
||||
/// <summary>消息主题</summary>
|
||||
[XmlAttribute]
|
||||
public String Topic { get; set; }
|
||||
/// <summary>消息主题</summary>
|
||||
[XmlAttribute]
|
||||
public String Topic { get; set; }
|
||||
|
||||
/// <summary>数据</summary>
|
||||
[XmlAttribute]
|
||||
public String Data { get; set; }
|
||||
#endregion
|
||||
/// <summary>数据</summary>
|
||||
[XmlAttribute]
|
||||
public String Data { get; set; }
|
||||
#endregion
|
||||
|
||||
#region 构造
|
||||
/// <summary>已重载。</summary>
|
||||
/// <returns></returns>
|
||||
public override String ToString() => Name;
|
||||
#endregion
|
||||
}
|
||||
#region 构造
|
||||
/// <summary>已重载。</summary>
|
||||
/// <returns></returns>
|
||||
public override String ToString() => Name;
|
||||
#endregion
|
||||
}
|
|
@ -1,24 +1,23 @@
|
|||
namespace AntJob.Data
|
||||
namespace AntJob.Data;
|
||||
|
||||
/// <summary>作业状态</summary>
|
||||
public enum JobStatus
|
||||
{
|
||||
/// <summary>作业状态</summary>
|
||||
public enum JobStatus
|
||||
{
|
||||
/// <summary>就绪</summary>
|
||||
就绪 = 0,
|
||||
/// <summary>就绪</summary>
|
||||
就绪 = 0,
|
||||
|
||||
/// <summary>抽取中</summary>
|
||||
抽取中 = 1,
|
||||
/// <summary>抽取中</summary>
|
||||
抽取中 = 1,
|
||||
|
||||
/// <summary>处理中</summary>
|
||||
处理中 = 2,
|
||||
/// <summary>处理中</summary>
|
||||
处理中 = 2,
|
||||
|
||||
/// <summary>错误</summary>
|
||||
错误 = 3,
|
||||
/// <summary>错误</summary>
|
||||
错误 = 3,
|
||||
|
||||
/// <summary>已完成</summary>
|
||||
完成 = 4,
|
||||
/// <summary>已完成</summary>
|
||||
完成 = 4,
|
||||
|
||||
/// <summary>已取消</summary>
|
||||
取消 = 5,
|
||||
}
|
||||
/// <summary>已取消</summary>
|
||||
取消 = 5,
|
||||
}
|
|
@ -1,26 +1,23 @@
|
|||
using System;
|
||||
namespace AntJob.Data;
|
||||
|
||||
namespace AntJob.Data
|
||||
/// <summary>邻居伙伴</summary>
|
||||
public partial class PeerModel
|
||||
{
|
||||
/// <summary>邻居伙伴</summary>
|
||||
public partial class PeerModel
|
||||
{
|
||||
/// <summary>实例。IP加端口</summary>
|
||||
public String Instance { get; set; }
|
||||
/// <summary>实例。IP加端口</summary>
|
||||
public String Instance { get; set; }
|
||||
|
||||
/// <summary>客户端。IP加进程</summary>
|
||||
public String Client { get; set; }
|
||||
/// <summary>客户端。IP加进程</summary>
|
||||
public String Client { get; set; }
|
||||
|
||||
/// <summary>名称。机器名称</summary>
|
||||
public String Machine { get; set; }
|
||||
/// <summary>名称。机器名称</summary>
|
||||
public String Machine { get; set; }
|
||||
|
||||
/// <summary>版本。客户端</summary>
|
||||
public String Version { get; set; }
|
||||
/// <summary>版本。客户端</summary>
|
||||
public String Version { get; set; }
|
||||
|
||||
/// <summary>创建时间</summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
/// <summary>创建时间</summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
/// <summary>更新时间</summary>
|
||||
public DateTime UpdateTime { get; set; }
|
||||
}
|
||||
/// <summary>更新时间</summary>
|
||||
public DateTime UpdateTime { get; set; }
|
||||
}
|
|
@ -1,40 +1,37 @@
|
|||
using System;
|
||||
namespace AntJob.Data;
|
||||
|
||||
namespace AntJob.Data
|
||||
/// <summary>任务结果</summary>
|
||||
public partial class TaskResult : ITaskResult
|
||||
{
|
||||
/// <summary>任务结果</summary>
|
||||
public partial class TaskResult : ITaskResult
|
||||
{
|
||||
#region 属性
|
||||
/// <summary>编号</summary>
|
||||
public Int32 ID { get; set; }
|
||||
#region 属性
|
||||
/// <summary>编号</summary>
|
||||
public Int32 ID { get; set; }
|
||||
|
||||
/// <summary>总数</summary>
|
||||
public Int32 Total { get; set; }
|
||||
/// <summary>总数</summary>
|
||||
public Int32 Total { get; set; }
|
||||
|
||||
/// <summary>成功</summary>
|
||||
public Int32 Success { get; set; }
|
||||
/// <summary>成功</summary>
|
||||
public Int32 Success { get; set; }
|
||||
|
||||
/// <summary>耗时,秒</summary>
|
||||
public Int32 Cost { get; set; }
|
||||
/// <summary>耗时,秒</summary>
|
||||
public Int32 Cost { get; set; }
|
||||
|
||||
/// <summary>错误</summary>
|
||||
public Int32 Error { get; set; }
|
||||
/// <summary>错误</summary>
|
||||
public Int32 Error { get; set; }
|
||||
|
||||
/// <summary>次数</summary>
|
||||
public Int32 Times { get; set; }
|
||||
/// <summary>次数</summary>
|
||||
public Int32 Times { get; set; }
|
||||
|
||||
/// <summary>速度</summary>
|
||||
public Int32 Speed { get; set; }
|
||||
/// <summary>速度</summary>
|
||||
public Int32 Speed { get; set; }
|
||||
|
||||
/// <summary>状态</summary>
|
||||
public JobStatus Status { get; set; }
|
||||
/// <summary>状态</summary>
|
||||
public JobStatus Status { get; set; }
|
||||
|
||||
/// <summary>最后键值</summary>
|
||||
public String Key { get; set; }
|
||||
/// <summary>最后键值</summary>
|
||||
public String Key { get; set; }
|
||||
|
||||
/// <summary>消息内容。异常信息或其它任务消息</summary>
|
||||
public String Message { get; set; }
|
||||
#endregion
|
||||
}
|
||||
/// <summary>消息内容。异常信息或其它任务消息</summary>
|
||||
public String Message { get; set; }
|
||||
#endregion
|
||||
}
|
|
@ -146,6 +146,7 @@ public class Scheduler : DisposeBase
|
|||
if (job != null && job.Mode == 0) job.Mode = handler.Mode;
|
||||
handler.Job = job;
|
||||
|
||||
handler.Tracer = Tracer;
|
||||
handler.Log = Log;
|
||||
handler.Start();
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using AntJob;
|
||||
using AntJob.Providers;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using NewLife;
|
||||
|
||||
|
@ -23,15 +22,6 @@ public class JobHost : BackgroundService
|
|||
var scheduler = new Scheduler
|
||||
{
|
||||
ServiceProvider = _serviceProvider,
|
||||
|
||||
//// 使用分布式调度引擎替换默认的本地文件调度
|
||||
//Provider = new NetworkJobProvider
|
||||
//{
|
||||
// Server = set.Server,
|
||||
// AppID = set.AppID,
|
||||
// Secret = set.Secret,
|
||||
// Debug = false
|
||||
//}
|
||||
};
|
||||
|
||||
scheduler.Join(set.Server, set.AppID, set.Secret, set.Debug);
|
||||
|
@ -39,7 +29,6 @@ public class JobHost : BackgroundService
|
|||
// 添加作业
|
||||
scheduler.AddHandler<HelloJob>();
|
||||
|
||||
|
||||
// 启动调度引擎,调度器内部多线程处理
|
||||
scheduler.Start();
|
||||
_scheduler = scheduler;
|
||||
|
|
Loading…
Reference in New Issue