我想创建一个每 7 天(周日午夜)自动运行的 rake 任务,它将分析一周的数据(每周最多 20,000 条记录)。
一个 Outlet has_many :monitorings A Monitoring belongs_to :outlet
我想检查在一周结束时,一个出口是否至少创建了 4 条记录。如果没有,我希望在数据库内部的一个名为 unmonitored 的表中创建一条记录。
该记录应包含它被监控的次数以及一周的开始和结束日期。
我想创建一个每 7 天(周日午夜)自动运行的 rake 任务,它将分析一周的数据(每周最多 20,000 条记录)。
一个 Outlet has_many :monitorings A Monitoring belongs_to :outlet
我想检查在一周结束时,一个出口是否至少创建了 4 条记录。如果没有,我希望在数据库内部的一个名为 unmonitored 的表中创建一条记录。
该记录应包含它被监控的次数以及一周的开始和结束日期。
要定期运行 rake 任务,您可以使用裸 cron 作业或漂亮的 ruby 包装器,无论何时。
看一看:
every 3.hours do
runner "MyModel.some_process"
rake "my:rake:task"
command "/usr/bin/my_great_command"
end
every 1.day, :at => '4:30 am' do
runner "MyModel.task_to_run_at_four_thirty_in_the_morning"
end
every :hour do # Many shortcuts available: :hour, :day, :month, :year, :reboot
runner "SomeModel.ladeeda"
end
every :sunday, :at => '12pm' do # Use any day of the week or :weekend, :weekday
runner "Task.do_something_great"
end
every '0 0 27-31 * *' do
command "echo 'you can use raw cron syntax too'"
end