我必须从服务器发送通知。它们的触发时间是动态的,并且对于每次通知都不一样。对于每个通知,它都附加了触发时间。 例如
notification_id start_date end_date time recurring_time
1 2016-06-06 2016-06-20 12-pm every_1_day
2 2016-06-06 2016-06-20 4-pm every_2_day
3 2016-06-06 2016-06-20 1-am every_2_week
4 2016-06-06 2016-06-20 3-pm every_month
我在考虑使用whenever gem
,但它也需要像every 1.hour do
如何每天检查我需要从开始日期开始每隔_2天或每隔7天执行一次任务。
答案 0 :(得分:1)
随时随地使用
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
现在再做一个rake任务,它将在启动你的主要cron作业之前更新DynamicOfferTime.first值。