我有一個紅寶石任務,每天從第三方下載一些數據。 基於這個下載的數據,我想更新crontab。Ruby on Rails 3.1 - 如何每天動態地填充crontab/cronjob
例如,每天早上9點,我想確定當天的計劃任務列表。
今天上午9點 - 我知道「任務A」需要在下午1點和下午2點運行。所以,我需要在下午1點和下午2點插入crontab。
明天上午9點 - 我會知道「任務A」需要在下午4點運行。所以,我需要在下午4點插入crontab。
我該如何做到這一點?任何推薦的寶石?
我有一個紅寶石任務,每天從第三方下載一些數據。 基於這個下載的數據,我想更新crontab。Ruby on Rails 3.1 - 如何每天動態地填充crontab/cronjob
例如,每天早上9點,我想確定當天的計劃任務列表。
今天上午9點 - 我知道「任務A」需要在下午1點和下午2點運行。所以,我需要在下午1點和下午2點插入crontab。
明天上午9點 - 我會知道「任務A」需要在下午4點運行。所以,我需要在下午4點插入crontab。
我該如何做到這一點?任何推薦的寶石?
我想你需要看看每當gem,並在initializers文件(它是每當配置文件)寫一個schedule.rb。之後用every命令更新crontab。
Using Whenever gem
# In rails 4
require File.expand_path('../..//config/environment.rb', __FILE__)
# This is your table by which you will get your new value
bid_update = DynamicOfferTime.first
# Now Task As
every (bid_update.hour_value).hours do
puts "This will repeat in every #{bid_update.hour_value} hour"
end
我會還建議'whenever'寶石,但我想,除此之外,建議@ user1000589重構他/她產生任務的方式(或。進一步查看)。根據提供的信息,確定哪些任務運行的算法仍不清楚。 –
基本上,我每天下載一個電視節目表。每當我得到一個新的時間表,我想開始記錄我下載的放映時間。 – ddb
所以,我的cronjob需要有一個條目來顯示開始時間。 任務是啓動記錄器(主要是一個rake任務)。 – ddb