rufus-scheduler runs scheduler multiple times due

2019-09-09 09:10发布

问题:

I had setup scheduler in my rails3 projects's /configs/initializers/schedule.rb and it working fine, But it works 2 times and I think it is due to unicorn workers execute schedule at the same time, so it create in my database two records each time. I checked my logic and its ok and enter single record in my local machine.

I checked following but not getting idea how to stop multiple unicorn workers to execute scheduler?

https://github.com/jmettraux/rufus-scheduler/#advanced-lock-schemes

Any one got this issue? Please help if any idea.

Thanks,

P Shah

回答1:

try this

require 'rufus-scheduler'

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

unless scheduler.down?

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


回答2:

Please try the solution described in https://github.com/jmettraux/rufus-scheduler/#lockfile--mylockfiletxt