回答
我想不出这样做的任何特别干净的方式。
你可以探索使用计划作业的迟发型创建RecurringJob的途径:
new BackgroundJobClient().Schedule(() => Hangfire.RecurringJob.AddOrUpdate(() => Console.WriteLine("Hello World"), Cron.Daily()), startDateTime)
这可能是设置为重复执行的作业的第一个预期的运行时间之前不久运行计划工作,从而hangfire运行时间表并创建工作本身。我从来没有尝试过这样做,所以请做测试(让我知道它是如何发生的)。
我看到你接受了我的答案,这是否意味着这个工作?它是如何去的?对于任何追随者,你有更具体的实施细节吗? – MarkFl
我试过了,我得到这个异常:System.NotSupportedException:'作业方法参数中不支持匿名函数,委托和lambda表达式:它们很难序列化它们以及它们的一般范围。 –
从HangFire docs开始,您可以使用CRON expressions。最初他们有点难以接受,但是一旦你掌握了结构,你就可以做你想要的一切。请注意,这些是精确次,并且没有“在这个时间之后你感觉像是什么时候”。当你想让它运行时告诉它。
例如,如果你想在每天14:00运行:
RecurringJob.AddOrUpdate(() => Console.Write("Powerful!"), "0 14 * * *");
0
:0分钟14
:2PM(14:00小时)*
:每月的一天*
:全年每月*
:一周中的每一天。
- 1. Ruby on Rails:延迟作业延长作业之间的时间
- 2. Rubymine - 延迟作业
- 3. 使用延迟作业的重复耙子任务
- 4. 延迟::作业 - 执行期间的变异作业
- 5. 延迟重复CAAnimation
- 6. 在延迟作业中超时
- 7. 延迟的作业run_at没有在正确的时间运行
- 8. 延迟::模块作业
- 9. ActionMailer和延迟作业
- 10. 延迟作业被锁定
- 11. Rails - 延迟完成作业
- 12. 延迟构建Jenkins作业
- 13. 延迟作业语法
- 14. 延迟作业批插入
- 15. 具有相同时间戳的两个延迟作业。
- 16. 在rails中获取延迟作业的运行时间?
- 17. Quartz.net作业完成后的时间间隔重复作业
- 18. 与重复和延迟的
- 19. 重定向之前的时间延迟
- 20. 在Heroku中实现延迟作业和定时作业
- 21. 处理环境 - 延迟时间延迟
- 22. 使用延迟作业在特定时间发送邮件
- 23. Rails /延迟作业:无法从延迟作业中保存模型
- 24. 春季调度固定延迟和初始延迟的作业
- 25. Java时间延迟
- 26. Python时间延迟
- 27. JavaScript时间延迟
- 28. 时间延迟Tkinter
- 29. 经过一定的时间延迟后重复短音
- 30. 制作时间延迟的问题
您可以使用Cron.Daily(time.Hours,time.Minutes); - 用特定的时间做日常工作 – Sergey