87 lines
2.9 KiB
C#
87 lines
2.9 KiB
C#
using JSMachine.WMS.Job.Enum;
|
||
|
||
namespace JSMachine.WMS.Job.JobAttributes
|
||
{
|
||
/// <summary>
|
||
/// Quartz 作业注册特性,描述作业名称、分组、触发方式和执行周期。
|
||
/// </summary>
|
||
[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = true)]
|
||
public sealed class JobAttribute : Attribute
|
||
{
|
||
// 默认配置
|
||
/// <summary>创建使用默认调度参数的作业特性。</summary>
|
||
public JobAttribute()
|
||
{
|
||
ScheduleType = ScheduleType.Simple;
|
||
Name = "MyJob";
|
||
Group = "MyGroup";
|
||
Description = "NoJobAttributeAndDefault";
|
||
StartTimeStr = null;
|
||
RepeatCount = 0;
|
||
IntervalMilliSeconds = 5000;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Job的特性
|
||
/// </summary>
|
||
/// <param name="modeEnum">Job的Trigger的创建模式</param>
|
||
/// <param name="name">JobKeyName</param>
|
||
/// <param name="group">JobKeyGroup</param>
|
||
/// <param name="decription">JobDecription</param>
|
||
/// <param name="dateTimeOffset">Trigger开始时间</param>
|
||
/// <param name="repeatCount">重复次数(null为Forever)</param>
|
||
/// <param name="intervaMilliSeconds">间隔时间(毫秒)</param>
|
||
/// <summary>使用指定调度参数创建作业特性。</summary>
|
||
public JobAttribute(ScheduleType scheduleType
|
||
, string name
|
||
, string group
|
||
, string decription
|
||
, string dateTimeOffset
|
||
, int repeatCount
|
||
, int intervaMilliSeconds)
|
||
{
|
||
ScheduleType = scheduleType;
|
||
Name = name;
|
||
Description = decription;
|
||
Group = group;
|
||
StartTimeStr = dateTimeOffset;
|
||
RepeatCount = repeatCount;
|
||
IntervalMilliSeconds = intervaMilliSeconds;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Job的Trigger的创建模式
|
||
/// Simple、Corn、Calendar、XMLConfig、JsonConfig
|
||
/// </summary>
|
||
public ScheduleType ScheduleType { get; set; }
|
||
/// <summary>
|
||
/// JobKeyName
|
||
/// </summary>
|
||
public string Name { get; set; }
|
||
/// <summary>
|
||
/// JobKeyGroup
|
||
/// </summary>
|
||
public string Group { get; set; }
|
||
/// <summary>
|
||
/// JobDescription
|
||
/// </summary>
|
||
public string Description { get; set; }
|
||
|
||
/// <summary>
|
||
/// 开始时间
|
||
/// 可转为时间的字符串,标准格式为"yyyy-MM-dd HH:mm:ss.fff"
|
||
/// null或string.Empty为立即开始
|
||
/// </summary>
|
||
public string StartTimeStr { get; set; }
|
||
|
||
/// <summary>
|
||
/// 重复次数,0为总是重复
|
||
/// </summary>
|
||
public int RepeatCount { get; set; }
|
||
/// <summary>
|
||
/// 任务执行间隔
|
||
/// </summary>
|
||
public int IntervalMilliSeconds { get; set; }
|
||
}
|
||
}
|