scheduler = Rufus::Scheduler.new :lockfile => ".rufus-scheduler.lock"
scheduler.every("60") do
...
end
环境:Ubuntu、rails 4、rufus、独角兽、nginx
Unicorn 有多个工作人员,因此上述“每个”任务将每 60 秒执行多次。
根据这个答案: rufus 调度程序每次运行两次 ,我添加了 :lockfile 选项,它可以工作!
但是,从日志来看,似乎'every'任务仍然试图被调用,导致很多错误消息:
E, [2014-05-09T01:59:47.496840 #2747] ERROR -- : cannot schedule, scheduler is down or shutting down (Rufus::Scheduler::NotRunningError)
/home/sohmobile/shared/bundle/ruby/2.1.0/gems/rufus-scheduler-3.0.7/lib/rufus/scheduler.rb:605:in `do_schedule'
/home/sohmobile/shared/bundle/ruby/2.1.0/gems/rufus-scheduler-3.0.7/lib/rufus/scheduler.rb:209:in `every'
/home/sohmobile/releases/20140509014407/config/initializers/task_scheduler.rb:3:in `<top (required)>'
我该如何解决这个问题?
提前致谢。