我正在尝试在rails上使用rufus-scheduler gem来设置一些任务(每小时发送一封邮件)。我安装了gem并使用:
创建了一个config/initializer/task_scheduler.rb
require 'rubygems'
require 'rufus/scheduler'
scheduler = Rufus::Scheduler.start_new
scheduler.every("1h") do
Rule.all.each do |r|
RuleMailer.report_email(r).deliver
end
end
但我无法理解下一步是什么。这将如何运行?我应该设置一个cron吗?这是由网络服务器运行的? rails s,或rake task,或者是什么。
我没有得到它,我无法找到这些信息。
答案 0 :(得分:0)
将使用every
运行。
Rufus-scheduler支持五种作业。 in,at,every,interval 和cron的工作。
在https://github.com/jmettraux/rufus-scheduler上,它以各种方块显示各种用途的示例。如果你想使用cron,它看起来更像是scheduler.cron '00 09 * * *' do
(直接来自例子,没有设置为你的间隔)。