如何更改当前计划的hangfire中作业的执行时间?

时间:2019-08-15 07:11:58

标签: c# asp.net-core .net-core hangfire

我有一份安排在特定时间的工作。根据某些条件,我想更改该作业的执行时间。目前,我有以下逻辑,这些逻辑删除先前计划的作业并计划新的作业。

BackgroundJob.Delete("1033");
var jobId = BackgroundJob.Schedule(
           () => InvokeMethod(objInvokerDetail),
            time);

是否可以更改当前计划的作业的执行时间而不删除它并计划新作业?

1 个答案:

答案 0 :(得分:0)

根据此Forum Post(尽管很旧),无法更改现有作业。

建议您做的是保留计划的作业的ID,并删除该作业(在激发之前),然后用您的新时间计划一个新的作业。

string jobId = BackgroundJob.Schedule(() => Console.WriteLine("A job"), TimeSpan.FromMinutes(5));
BackgroundJob.Delete(jobId);
string rescheduleJobId = BackgroundJob.Schedule(() => Console.WriteLine("Same New Job!"), TimeSpan.FromMinutes(5));