2016-12-23 2 views
1

나는 그 시점부터 매일 시작 및 다음 날 자정에 cron을 실행하려고합니다.Rufus Scheduler 2.x를 사용하여 시작시 cron 실행

Dashing에 의해 나는 'first_in'을 cron 명령과 함께 사용할 수없는 Rufus Scheduler 2.0.24를 사용합니다. 내가 복제 할 3.X의 명령은이 주변에 어떤 방법이 있는지 내가

scheduler.cron '00 00 * * *', :first_in => '0' do 

을 궁금하네요 ...과 같이인가?

비슷한 문제를 설명하는 this이 발견되었지만 지정된 시간의 첫 번째 인스턴스에서만 cron이 실행되며 즉시 실행되지는 않습니다.

답변

1

일반이 될 일을 방법 :

job = 
    proc do 
    puts "hello" 
    end 

job.call 
    # run it right now 

scheduler.cron('00 00 * * *', &job) 

하지만 어쩌면이 하나 더 읽을 : 새 질문을 게시

job = 
    scheduler.cron '00 00 * * *' do 
    puts 'hello' 
    end 

job.block.call 
    # run it right now 

scheduler.join 

덕분에,이 모든 것이 분명했다. Rufus Scheduler :first_in option unknown with cron의 질문은 약간 다릅니다.

나는이 루퍼스 - 스케줄러 2.0.24에 대해 알고,하지만 난 3.3.x는 새로운 기능을 가리 키도록하고 싶습니다 : 당신이 job.trigger_off_schedule을 할 수 https://github.com/jmettraux/rufus-scheduler/issues/214을하고 지금 작업을 호출하는 경우 중복, 뮤텍스 및 다른 직업 선택권은 그것을 허용한다.

위로 가기 2.0.24로 돌아 가면 위의 바로 가기에는 미세 조정이 없으므로 바로 지금 블록이 실행됩니다. 블록에 이미 인스턴스가 실행 중일 수 있습니다. "매일 밤 자정"으로 설정된 일정이 있고 자정에 다시 시작하는 경우를 상상해보십시오. 따라서 위의 첫 번째 해결 방법은 가장 좋은 방법이라고 생각합니다. 이후 일정을 트리거하기 때문에입니다.

+1

멋지게 보입니다. 더 늦게 돌아 오지 않아서 죄송합니다. 정말 감사합니다! 건배! –

+0

새해 복 많이 받으세요! – jmettraux

+0

너에게 너무 :) 다시 건배! –