Hangfire - 获得下一个执行时间

问题描述 投票:0回答:1

我在Hangfire中有一份由Cron模板触发的重复工作。我需要在作业执行期间获得下一个执行时间。

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

Hangfire中是否存在类似的内容?如果是这样,我该如何访问它?

任何想法将不胜感激。

c# hangfire
1个回答
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;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.