我的意思是如果我有一个触发器:
ITrigger trigger = TriggerBuilder.Create()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(40)
.RepeatForever())
.Build();
我希望能够获得触发器计划的有意义(甚至是本地化)描述。例如,我希望在拨打trigger.ToMeaningfulString()
时看到"每40秒重复一次。" 消息。我不能谷歌这样的东西,但我几乎可以肯定我不是第一个有这个想法的人,也许,已经有了实施。如果您想开发某种将显示触发器或作业状态/详细信息的作业管理器,这将非常有用。这不是一项首要任务,因此如果没有现有的实施方案,我不想在其中投入大量精力。
答案 0 :(得分:2)
不确定是否存在简单的时间表。但是,如果使用cron表达式构建日程表,则可以使用cron expression descriptor,它采用cron表达式并完全符合您的要求:
var cronExpression = "40 * * * * ?";
ITrigger trigger = TriggerBuilder.Create()
.WithCronSchedule(cronExpression)
.Build();
var humanReadableString = ExpressionDescriptor.GetDescription(cronExpression);
// humanReadableString = "Every 40 seconds"
以NuGet package提供。