回答
如果考慮cron
是「單向」要做到這一點,然後是的,有無數的「其他方式」。這是因爲所有這些方式基本上都會做同樣的事情......調度任務以定期運行。
不要以爲cron
或任何其他調度工具,應用程序的一部分。將「執行任務」的擔憂與「調度任務」的擔憂分開。一旦你有一個執行任務的應用程序(如果在這種情況下任務只是遞增一些持久值,那麼整個應用程序將會非常小),那麼你就可以分別使用一個調度系統來調度任務。
cron
可以做到這一點。所以可以無數其他人。您甚至可以編寫自己的調度程序作爲某種守護程序或後臺服務運行(術語取決於平臺,調度程序的平臺差異是保持關注點分離的關鍵原因)。
爲什麼你會認爲它們是分開的(你的cron和你的應用程序)?沒有cron,您的業務規則可能無法滿足。沒有它,你就無法進行工作部署。 – ashes999 2014-09-24 16:16:33
@ ashes999:因爲執行邏輯和調度邏輯是兩個不同的問題。對於初學者來說,如果你將應用程序與特定的調度程序實現緊密結合,那麼你就不能在沒有調度程序的情況下調用應用程序邏輯。這使得業務邏輯更加僵化,便攜性降低,而且可測試性也更低。 'cron'或任何調度程序是一個實現細節。這不是業務規則的一部分。計劃任務的*定義*可能是業務規則(例如「隔日」),但這些規則的*實現*與此不同。 – David 2014-09-24 16:19:10
此外,您可以使用任何在軌道上使用紅寶石的後臺工作人員。例如sidekiq和rescue。兩者都有插件與週期任務
sidekiq工作:sidetiq - 絕佳選擇。它具有完美的界面,集成在標準的sidekiq監控工具中。我在我的所有項目中都使用它。
resque:resque-scheduler - 幾年前我用過這個調度器。我所知道的全部工作都很好。
thx!也許我可以嘗試一些積極的工作!大聲笑 – Snowmanzzz 2014-09-25 00:45:02
- 1. 我該如何減少在MongoDB數據庫中的字段每天
- 2. SQL:列值每天自動減少?
- 3. 如何在每隔一天或每隔三天安排一次UILocalNotification?
- 4. 減少天數
- 5. 如何每隔15天顯示一次?
- 6. 通過減少字符串每個行減少一個字符來減少嵌套for循環中的字母
- 7. 的iOS解析(減少API請求)在每週的同一天
- 8. 我該如何在php中編寫一個cron作業代碼,每天減少一些數字?
- 9. 減少天數在JavaScript
- 10. 如何使用jQuery每秒減少一個HTML元素的值?
- 11. 如何按百分比增加或減少所有字段值?
- 12. 如何在MySQL中每隔一天也分組行數?
- 13. Mysql - 從前一天減值減值
- 14. 如何在Python中的每一步獲得「減少」的結果?
- 15. DateDiff每天在一個時間間隔內每天
- 16. 如何減少字符數
- 17. 如何在rails中每隔幾分鐘更改一次變量?
- 18. Javascript新日期減少日期一天
- 19. 如何在逗號分隔字段中爲每個值返回單行?
- 20. 如何在Calendar.setup magento中減少今天的日期?
- 21. mongo分隔每個字段
- 22. 如何從幾個MySQL字段中減去一定的值
- 23. 我如何每隔一小時使用一次?現在它每天16.30
- 24. Cocos2d進度間隔減少
- 25. 如何減少smarty中變量的值?
- 26. 如何減少HashMap中的值?
- 27. 我要減少數量字段和減少其數量
- 28. 如何增加或減少SQL中的字段價格?
- 29. 如何減少字段集中元素之間的空間
- 30. 如何減少AngularJS中的表單驗證字段
我認爲使用某種形式的調度器(比如每當gem)和一個rake任務將會是你最好的選擇。 – Donovan 2014-09-24 16:04:56