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

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

Môi trường: Ubuntu, đường ray 4, rufus, kỳ lân, nginxTrình lập lịch biểu Rufus chạy nhiều lần với lân, cố định với: lockfile, nhưng cách loại bỏ thông báo lỗi?

Unicorn có nhiều người lao động, vì vậy các 'mọi' nhiệm vụ trên sẽ được thực hiện nhiều lần mỗi 60 giây.

Theo câu trả lời cho câu trả lời này: rufus scheduler running twice each time , tôi đã thêm: tùy chọn khóa và hoạt động!

Tuy nhiên, từ nhật ký, có vẻ như rằng 'mọi' nhiệm vụ vẫn cố gắng để được gọi, dẫn đến rất nhiều thông báo lỗi:

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

Làm thế nào tôi có thể giải quyết vấn đề này?

Xin cảm ơn trước.

Trả lời

15

Điều này có thể giải quyết vấn đề của bạn:

require 'rufus-scheduler' 

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

unless scheduler.down? 

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

Cảm ơn bạn rất nhiều, Sir! Nó hoạt động như một say mê. – user3618929

+0

Nếu đúng như vậy, hãy chấp nhận câu trả lời của tôi và bỏ phiếu. Cảm ơn trước :-) – jmettraux

Các vấn đề liên quan