2014-05-09 9 views
8
scheduler = Rufus::Scheduler.new :lockfile => ".rufus-scheduler.lock" 

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

Umwelt: Ubuntu, Schienen 4, rufus, Einhorn, nginxRufus Scheduler mehrfach mit Einhorn läuft, befestigt mit: lockfile, aber, wie der Fehler msg zu beseitigen?

Unicorn mehrere Arbeiter hat, so dass die oben wird 'jeder' Aufgabe mehrfach alle 60 Sekunden ausgeführt werden.

Nach der Antwort für dieses: rufus scheduler running twice each time , fügte ich hinzu: lockfile Option, und es funktioniert!

jedoch aus dem Protokoll, so scheint es, dass die ‚jede‘ Aufgabe versucht noch aufgerufen werden, in einer Menge von Fehlernachrichten:

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

Wie kann ich dieses Problem lösen?

Vielen Dank im Voraus.

Antwort

15

Dies könnte Ihr Problem lösen:

require 'rufus-scheduler' 

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

unless scheduler.down? 

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

Sie so vielen Dank, Sir! Es wirkt wie ein Zauber. – user3618929

+0

Wenn das der Fall ist, dann akzeptiere meine Antwort und stimme ab. Danke im Voraus :-) – jmettraux