c# – 如何让Hangfire作业调度程序错开20分钟的间隔作业

我有许多任务需要每20分钟运行一次.我可以使用cron表达式RecurringJob.AddOrUpdate(()=> / * my method * /,“* / 20 * * * *”在Hangfire中实现这一点

问题是,我的所有任务最终都会在同一时间运行,例如00:00,00:20,00:40,01:00

有没有人知道如何在不实施某种人工干预的情况下错开一个20分钟的间隔任务?

我喜欢Hangfire从创建它们开始每隔20分钟运行一次这些工作,没有什么特别的:)

最佳答案 我试试这个:首先,修改你的添加或更新以指定一个工作ID:

RecurringJob.AddOrUpdate("some-id", () => /* my method */, "*/20 * * * *");

其次是

RecurringJob.Trigger("some-id");

To run a recurring job now, call the Trigger method.

更新:如果延迟工作而不是重复工作怎么样?你的“我的方法”在最后创建一个新的延迟作业(递归),设置为在20分钟后运行.您仍将使用Trigger方法进行首次运行.

点赞