Files
jinko.yikatong/Src/Dlhis.ScheduledTask/Attributes/RecurringJobAttribute.cs
2025-06-11 17:12:51 +08:00

46 lines
1.4 KiB
C#

namespace Dlhis.ScheduledTask.Attributes;
/// <summary>
/// 用于标记一个类为定时任务的特性。
/// </summary>
[AttributeUsage(AttributeTargets.Class)]
public class RecurringJobAttribute : Attribute
{
/// <summary>
/// 初始化 <see cref="RecurringJobAttribute"/> 类的新实例。
/// </summary>
/// <param name="uniqueJobKey">任务的唯一标识符。</param>
/// <param name="cron">Cron 表达式,定义任务的执行计划。</param>
/// <param name="runOnDevelopment">是否在开发环境中运行。</param>
public RecurringJobAttribute(string uniqueJobKey, string cron, bool runOnDevelopment = false)
{
UniqueJobKey = uniqueJobKey;
Cron = cron;
RunOnDevelopment = runOnDevelopment;
}
/// <summary>
/// 任务名称(可选)。
/// </summary>
public string Name { get; set; }
/// <summary>
/// 任务的唯一标识符。
/// </summary>
public string UniqueJobKey { get; }
/// <summary>
/// Cron 表达式,定义任务的执行计划。
/// </summary>
public string Cron { get; }
/// <summary>
/// 是否在开发环境中运行。
/// </summary>
public bool RunOnDevelopment { get; }
/// <summary>
/// 任务所属队列,默认为 "default"。
/// </summary>
public string Queue { get; set; } = "default";
}