Files
2026-09-02 16:31:50 +08:00

87 lines
2.9 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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; }
}
}