Rails:每周创建一个新的Active Record对象

时间:2014-03-16 18:47:18

标签: ruby-on-rails rails-activerecord

我有一周模特。我想根据用户所在的特定时区在每周开始时(例如星期日午夜)自动创建一个新的星期对象。用户有很多周。你如何在铁路应用中解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以使用gem来帮助您。看看这个:

修改铁路广播 http://railscasts.com/episodes/164-cron-in-ruby-revised

https://github.com/javan/whenever

有了这个宝石,你可以这样写:

every :saturday, at: "4:38am" do
...
end

答案 1 :(得分:1)

您可以使用clockwork gem来实现此目标

https://github.com/adamwiggins/clockwork

使用发条可以执行以下操作

require 'clockwork'
include Clockwork

handler do |job|
  puts "Running #{job}"
end

every(10.seconds, 'frequent.job')
every(3.minutes, 'less.frequent.job')
every(1.hour, 'hourly.job')

every(1.day, 'midnight.job', :at => '00:00')

#in your case
every(1.week, 'create_week.job', :at => '00:00')