using JNPF.Schedule; using SqlSugar; namespace JNPF.TaskScheduler.Entitys; [SugarTable("JobTriggers", "作业触发器表")] [Tenant("JNPF-Job")] public class JobTriggers { /// /// Id. /// [SugarColumn(ColumnDescription = "Id", IsPrimaryKey = true, IsIdentity = true)] public virtual long Id { get; set; } /// /// 触发器 Id. /// [SugarColumn(ColumnDescription = "触发器Id")] public virtual string TriggerId { get; set; } /// /// 作业 Id. /// [SugarColumn(ColumnDescription = "作业Id")] public virtual string JobId { get; set; } /// /// 触发器类型 FullName. /// [SugarColumn(ColumnDescription = "触发器类型")] public string? TriggerType { get; set; } /// /// 程序集 Name. /// [SugarColumn(ColumnDescription = "程序集")] public string? AssemblyName { get; set; } /// /// 参数. /// [SugarColumn(ColumnDescription = "参数")] public string? Args { get; set; } /// /// 描述信息. /// [SugarColumn(ColumnDescription = "描述信息")] public string? Description { get; set; } /// /// 状态. /// [SugarColumn(ColumnDescription = "状态")] public TriggerStatus Status { get; set; } = TriggerStatus.Ready; /// /// 起始时间. /// [SugarColumn(ColumnDescription = "起始时间")] public DateTime? StartTime { get; set; } /// /// 结束时间. /// [SugarColumn(ColumnDescription = "结束时间")] public DateTime? EndTime { get; set; } /// /// 最近运行时间. /// [SugarColumn(ColumnDescription = "最近运行时间")] public DateTime? LastRunTime { get; set; } /// /// 下一次运行时间. /// [SugarColumn(ColumnDescription = "下一次运行时间")] public DateTime? NextRunTime { get; set; } /// /// 触发次数. /// [SugarColumn(ColumnDescription = "触发次数")] public long NumberOfRuns { get; set; } /// /// 最大触发次数(0:不限制,n:N次. /// [SugarColumn(ColumnDescription = "最大触发次数")] public long MaxNumberOfRuns { get; set; } /// /// 出错次数. /// [SugarColumn(ColumnDescription = "出错次数")] public long NumberOfErrors { get; set; } /// /// 最大出错次数(0:不限制,n:N次). /// [SugarColumn(ColumnDescription = "最大出错次数")] public long MaxNumberOfErrors { get; set; } /// /// 重试次数. /// [SugarColumn(ColumnDescription = "重试次数")] public int NumRetries { get; set; } /// /// 重试间隔时间(ms). /// [SugarColumn(ColumnDescription = "重试间隔时间(ms)")] public int RetryTimeout { get; set; } = 1000; /// /// 是否立即启动. /// [SugarColumn(ColumnDescription = "是否立即启动")] public bool StartNow { get; set; } = true; /// /// 是否启动时执行一次. /// [SugarColumn(ColumnDescription = "是否启动时执行一次")] public bool RunOnStart { get; set; } = false; /// /// 是否在启动时重置最大触发次数等于一次的作业. /// /// 解决因持久化数据已完成一次触发但启动时不再执行的问题 [SugarColumn(ColumnDescription = "是否在启动时重置最大触发次数等于一次的作业")] public bool ResetOnlyOnce { get; set; } = true; /// /// 更新时间. /// [SugarColumn(ColumnDescription = "更新时间")] public DateTime? UpdatedTime { get; set; } }