我在Hangfire中有一份由Cron模板触发的重复工作。我需要在作业执行期间获得下一个执行时间。
我想出了一个想法,将CronTemplate注入到工作中并使用基于模板的一些现有库计算该日期,但我对此解决方案有一些设计问题,我认为基于某种JobExecutionContext的解决方案会更好,但到目前为止,我找不到任何方法来获得它。
Hangfire中是否存在类似的内容?如果是这样,我该如何访问它?
任何想法将不胜感激。
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;
}
}