【发布时间】:2016-12-23 00:22:30
【问题描述】:
我有一些任务需要每 20 分钟运行一次。我可以在 Hangfire 中使用 cron 表达式 RecurringJob.AddOrUpdate(() => /* my method */, "*/20 * * * *")
问题是,我的所有任务最终都会在完全相同的时间运行,例如00:00, 00:20, 00:40, 01:00
有没有人知道在不实施某种人工干预的情况下错开 20 分钟间隔任务的方法?
我希望 Hangfire 从我创建它们开始每 20 分钟运行一次作业,没什么特别的 :)
【问题讨论】:
-
我认为没有内置对此的支持真是太可惜了。我不希望所有东西都同时运行,因为它们可能会碰到相同的数据库表并可能导致死锁。当然我可以解决它们,但我会觉得能够错开工作会更舒服。即使它只是按顺序执行了应在同一“cron 时间”运行的事情。想知道是否可以为此使用属性?
标签: c# cron scheduled-tasks hangfire