我在Hangfire中有一个由CronTemplate触发的递归工作。我需要在作业执行期间获得下一个执行时间。
我想到了将CronTemplate注入工作并使用基于模板的现有库来计算日期的想法,但是我对此解决方案有一些设计方面的担忧,我认为基于某种JobExecutionContext的解决方案会会更好,但是到目前为止,我找不到任何方法来获得它。
Hangfire中是否存在类似的内容?如果可以,该如何访问?
任何想法都会受到赞赏。
答案 0 :(得分:2)
Alex这是一些伪代码,可能会回答您的问题。
private DateTime? GetNextExecutionTime(MethodInfo methodInfo)
{
try
{
var job = JobStorage.Current.GetConnection().GetRecurringJobs().Single(x => x.Job.Method == methodInfo);
return job == null ? null : job.NextExecution;
}
catch (Exception)
{
return null;
}
}