Ruby on Rails 3.1 -如何每天动态地填充crontab / cronjob



我有一个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-ruby

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

最新更新