回答
我想不出這樣做的任何特別乾淨的方式。
你可以探索使用計劃作業的遲髮型創建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