我有一份安排在特定时间的工作。根据某些条件,我想更改该作业的执行时间。目前,我有以下逻辑,这些逻辑删除先前计划的作业并计划新的作业。
BackgroundJob.Delete("1033");
var jobId = BackgroundJob.Schedule(
() => InvokeMethod(objInvokerDetail),
time);
是否可以更改当前计划的作业的执行时间而不删除它并计划新作业?
答案 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));