5

要重新安排计划的作业,我目前正在删除以前的作业,然后在事务中安排一个新的作业,因此如果计划失败,它会回滚删除:

using (var transaction = new TransactionScope(TransactionScopeOption.Required))
{
    BackgroundJob.Delete(jobId);
    BackgroundJob.Schedule(...);
}

这涉及将原始参数存储在某处,以便我可以使用原始参数重新安排时间。

我想知道执行以下操作是否有任何后果:

new BackgroundJobClient().ChangeState(jobId, new ScheduledState(timespan), ScheduledState.StateName);

这样就不需要保留原来的工作参数并且是事务性的。

4

0 回答 0