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