我有一个ruby任务,每天从第三方下载一些数据。基于这个下载的数据,我想更新crontab.
例如,每天早上9点,我想决定一天的计划任务列表。
今天上午9点——我知道"任务A"需要在下午1点和2点运行。因此,我需要为1 PM和2 PM插入crontab。
明天上午9点——我将知道"任务A"需要在下午4点运行。所以,我需要为下午4点插入crontab。
我怎样才能做到这一点?
我认为你需要看看每当gem,并写一个时间表。在初始化器文件中(它是每当配置文件)。之后,使用每当命令更新crontab。
https://github.com/javan/whenever http://railscasts.com/episodes/164-cron-in-rubyUsing 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