Rufus 调度程序与 unicorn 一起运行多次,用 :lockfile 修复,但如何消除错误消息?

2024-02-16

scheduler = Rufus::Scheduler.new :lockfile => ".rufus-scheduler.lock"

scheduler.every("60") do
...
end

环境:Ubuntu、rails 4、rufus、unicorn、nginx

Unicorn 有多个工人,因此上述“每个”任务将每 60 秒执行多次。

根据这个问题的答案:rufus调度程序每次运行两次 https://stackoverflow.com/questions/20710821/rufus-scheduler-running-twice-each-time,我添加了 :lockfile 选项,它起作用了!

然而,从日志来看,似乎“每个”任务仍然尝试被调用,导致出现很多错误消息:

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)>'

我该如何解决这个问题?

提前致谢。


这可以解决您的问题:

require 'rufus-scheduler'

scheduler = Rufus::Scheduler.new(:lockfile => ".rufus-scheduler.lock")

unless scheduler.down?

  scheduler.every("60") do
    # ...
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rufus 调度程序与 unicorn 一起运行多次,用 :lockfile 修复,但如何消除错误消息? 的相关文章

随机推荐