我打算製作一個簡單的服務監控應用程序,其中包含一個Web界面,該界面將每x分鐘執行一次http呼叫到一個狀態頁(每個服務),但是我不能找出哪個策略是最好的。 兩個主要策略到目前爲止是:如何每x分鐘執行一次http呼叫
這兩種策略似乎都不太有效,因爲whenever
必須爲每個任務啓動rails環境,我認爲睡眠塊。
任何建議將非常感激。
我打算製作一個簡單的服務監控應用程序,其中包含一個Web界面,該界面將每x分鐘執行一次http呼叫到一個狀態頁(每個服務),但是我不能找出哪個策略是最好的。 兩個主要策略到目前爲止是:如何每x分鐘執行一次http呼叫
這兩種策略似乎都不太有效,因爲whenever
必須爲每個任務啓動rails環境,我認爲睡眠塊。
任何建議將非常感激。
我可以告訴你我的(小)經驗與時間和發條。
無論何時您設置您的任務(計劃)並使用您的操作系統的cron作業運行您的腳本。
發條不需要cron作業,它運行在自己的ruby任務中,還可以通過自己的文件配置發條。
我總是更喜歡cron /自己的任務解決方案。
使用遞歸調用方法,您可以使用與正常(高效)操作相同的日誌文件,並且可能會阻塞服務器(長時間運行的任務)並避免清理應用程序(實例關閉,...)。您必須確定只有一個服務正在並行運行,等等......。 cron/job解決方案在各方面都更加清潔。
我使用的是發條,因爲每個環境都有紅寶石,您不必設置cron作業。但是這是個人決定,如果你喜歡cron作業,就用它們:)。
無論是戰略似乎太有效率,因爲每當有加速旋轉 Rails環境爲每個任務
其實,這是不正確的。每當可獨立使用軌道,並且不會爲每項任務啓動軌道。每當寫入您的cron文件並讓您的系統處理任務。每當只是cron的dsl。你可以通過簡單地輸入
whenever --update-crontab your_cron_name_here
我要重申一下大家在這裏說,說你想使用cron使用時。但是,如果您直接使用cron或隨時隨地完全取決於您。我個人比較喜歡,但那只是我。