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

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

Çevre: Ubuntu, tek boynuzlu 4, Rufus'u, nginx raylarRufus zamanlayıcı ile tek seferde birden çok kez çalıştırılıyor, ile sabitleniyor: lockfile, ama hata msg nasıl ortadan kaldırılır?

Unicorn birden işçi vardır, bu nedenle yukarıdaki 'her' görevi birden çok kez her 60 saniyede bir çalıştırılacaktır.

Bu sorunun cevabına göre: rufus scheduler running twice each time , Ben ekledim: lockfile seçeneği ve işe yarıyor!

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

Bu sorunu nasıl çözebilir:

Ancak günlüğünden, her 'görevini yine hata mesajlarının çok neden çağrılacak çalışır gibi görünüyor?

Şimdiden teşekkürler.

cevap

15

Bu sorunu çözebilir:

require 'rufus-scheduler' 

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

unless scheduler.down? 

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

, size Efendim çok teşekkür ederim! Bir çekicilik gibi çalışır. – user3618929

+0

Eğer durum buysa, cevabımı kabul et ve oy ver. Şimdiden teşekkürler :-) – jmettraux

İlgili konular