我有一個腳本,必須在指定的時間內運行一定的時間。計劃任務運行
我正在看發條寶石(https://github.com/tomykaira/clockwork),它似乎是我可能最終用來完成此操作的最接近的一款軟件,不幸的是它似乎沒有給出設置持續時間的能力(從3PM開始停止5PM),這意味着我必須在2中拆分該功能,開始腳本將成爲發條的工作,並通過自定義解決方案停止腳本本身。
非常不理想和凌亂。
人們在Ruby中如何做到這一點? TIA
我有一個腳本,必須在指定的時間內運行一定的時間。計劃任務運行
我正在看發條寶石(https://github.com/tomykaira/clockwork),它似乎是我可能最終用來完成此操作的最接近的一款軟件,不幸的是它似乎沒有給出設置持續時間的能力(從3PM開始停止5PM),這意味着我必須在2中拆分該功能,開始腳本將成爲發條的工作,並通過自定義解決方案停止腳本本身。
非常不理想和凌亂。
人們在Ruby中如何做到這一點? TIA
對於同樣的工作,有很大的寶石whenever。有了它,你可以設定精確的時間,你的任務,如:
every 1.day, :at => '4:30 am' do
runner "MyModel.task_to_run_at_four_thirty_in_the_morning"
end
但你必須有兩個階段,一個是啓動一個停止你的工作,這似乎是再自然不過的工作殺死自己有時我的意見。
有點不舒服,但有另一種解決方案。我不確定您使用什麼來託管您的應用,但在Heroku上,您可以設置一個scheduler,以每10分鐘,每小時或每天運行一次。然後在調度程序調用的方法內部,您可以確定當前時間。假設你只想在下午3點到5點之間運行它,你只需將你的代碼包裝在if語句中,以驗證當前時間是在下午3點到5點之間(注意UTC的時間轉換)。
希望這會有所幫助。