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; } } }