我想知道在RoR中是否有辦法在不同時間運行兩次Rake任務或Ruby代碼。例如,當用戶註冊時,在三天後運行任務,然後在一週後運行相同的任務,但沒有更多(「停止進程」)。我正在尋找crontab和Resque,Stalker,Starling等寶石,但我並不清楚這些寶石能夠幫助我。我正在考慮爲每個用戶運行一個守護進程並計算任務執行次數。問題在於守護進程會一直活躍於「吃」資源。有沒有辦法儘可能少使用資源?我想在以後的Heroku中運行它。如何用cron運行rake任務兩次?
0
A
回答
1
我通常解決這類在記錄上有日期列的東西(例如first_reminder_sent_at,user_responed_at,week_reminder_sent_at)。在這種情況下,第一個項目的日期,用戶的回覆以及爲期一週的項目。
創建一個cron任務來調用rake任務 - 查看大於3天的所有用戶,< 1周,用戶沒有響應,日期未設置。 排隊後臺作業。 作業將發送郵件(或任何任務),然後在記錄上設置日期字段。
Cron調用rake任務的任務 - 查看所有用戶未滿1周的用戶未響應且日期未設置的用戶。 發送提醒並在後臺作業中設置日期。
0
嘗試每當cron和創建一個rake任務,這是做你的東西..並在數據庫中進行一些觸發字段時,如何rake任務應該做他的行動..
0
Posix系統具有at
命令,這是安排作業在稍後運行一次的簡單方法。儘管使用基於應用程序的排隊機制安排後續工作沒有任何問題,如其他答案中所述。 at
是主機特定的,因此如果您正在運行羣集,則可能不適合,尤其是如果主機可能是暫時的。
相關問題
- 1. 無法使用cron任務運行rake
- 2. Rake任務在Heroku上運行兩次
- 3. Rails3,從cron運行rake任務
- 4. 爲什麼我通過cron運行的rake任務會被調用兩次?
- 5. 如何運行rake任務,未使用cron
- 6. 用cron調度rake任務
- 7. Cron運行rake任務「無法在任何源中找到rake-0.8.7」
- 8. 運行rake任務
- 9. Rails:一次運行多個rake任務?
- 10. 無需使用Rake運行Rake任務
- 11. 我如何從delayed_job運行rake任務
- 12. Rails如何運行rake任務
- 13. 從應用程序rake任務運行gems rake任務
- 14. 運行rake任務,在Heroku
- 15. 運行所有rake任務?
- 16. 運行多個rake任務
- 17. 問題運行rake任務
- 18. 如何知道上次運行cron任務的時間?
- 19. 如何創建一個Rake任務,當任何Rake任務運行時將始終運行?
- 20. 從Cron運行Rails任務
- 21. 無法使用smarter_csv運行rake任務
- 22. 使用按鈕運行rake任務
- 23. SimpleCov:每次都沒有運行,只是使用rake任務
- 24. 如何在Heroku上自動運行Queue_Classic(或任何)rake任務?
- 25. 使用App Engine的cron API每小時運行一次任務
- 26. 如何多次使用參數執行Rake任務?
- 27. 如何rake任務
- 28. 在節點中運行兩次任務
- 29. Spring 4.3.1計劃任務運行兩次
- 30. Rake任務只有一次
守護進程的問題是我必須一直詢問現在什麼時候檢查是否已經過去了一週,3天等。 – Dagosi