Hangfire-获取下一次执行时间

时间:2018-08-07 18:42:09

标签: c# hangfire

我在Hangfire中有一个由CronTemplate触发的递归工作。我需要在作业执行期间获得下一个执行时间。

我想到了将CronTemplate注入工作并使用基于模板的现有库来计算日期的想法,但是我对此解决方案有一些设计方面的担忧,我认为基于某种JobExecutionContext的解决方案会会更好,但是到目前为止,我找不到任何方法来获得它。

Hangfire中是否存在类似的内容?如果可以,该如何访问?

任何想法都会受到赞赏。

1 个答案:

答案 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;
    }
}