Hangfire - 重新安排预定的作业

kim*_*gro 5 hangfire hangfire-sql

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

using (var transaction = new TransactionScope(TransactionScopeOption.Required))
{
    BackgroundJob.Delete(jobId);
    BackgroundJob.Schedule(...);
}
Run Code Online (Sandbox Code Playgroud)

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

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

new BackgroundJobClient().ChangeState(jobId, new ScheduledState(timespan), ScheduledState.StateName);
Run Code Online (Sandbox Code Playgroud)

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