using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HuanMeng.DotNetCore.QuartzExtend;
///
/// 自定义特性,用于标识 Quartz 作业的触发器配置。
///
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
public class QuartzTriggerAttribute : Attribute
{
///
/// 获取触发器的名称。
///
public string TriggerName { get; }
///
/// 获取触发器的时间间隔(秒)。
///
public int? IntervalInSeconds { get; }
///
/// 获取 Cron 表达式。
///
public string CronExpression { get; }
///
/// 使用 Cron 表达式初始化特性。
///
/// 触发器名称。
/// Cron 表达式。
public QuartzTriggerAttribute(string triggerName, string cronExpression = "0/1 * * * * ?")
{
TriggerName = triggerName;
IntervalInSeconds = null;
CronExpression = cronExpression;
}
///
/// 使用时间间隔初始化特性。
///
/// 触发器名称。
/// 时间间隔(秒)。
public QuartzTriggerAttribute(string triggerName, int intervalInSeconds)
{
TriggerName = triggerName;
IntervalInSeconds = intervalInSeconds;
CronExpression = "";
}
}