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

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

환경 : 우분투, 유니콘 4, 루퍼스, nginx를 레일unicorn으로 여러 번 실행되는 Rufus 스케줄러 : lockfile으로 수정되었지만 오류 메시지를 제거하는 방법은 무엇입니까?

유니콘 여러 노동자가 있으므로 위의 '모든'작업이 여러 번 60 초마다 실행됩니다.

이 답변에 따르면 : 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)>' 

가 어떻게이 문제를 해결할 수 있습니다 :

그러나, 로그에서, '모든'작업이 여전히 오류 메시지의 많은 결과 호출을 시도하는 것?

미리 감사드립니다.

답변

15

이 문제를 해결할 수 :

require 'rufus-scheduler' 

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

unless scheduler.down? 

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

, 당신에게 선생님 너무 감사합니다! 그것은 매력처럼 작동합니다. – user3618929

+0

그럴 경우 내 대답을 수락하고 투표하십시오. 미리 감사드립니다 :-) – jmettraux