2016-12-23 17 views
1

私は、その時点から毎日起動し、真夜中にcronを実行しようとしています。Rufus Scheduler 2.xを使用して起動時にcronを実行する

私はDashingによって、Rufus Scheduler 2.0.24を使用するように拘束されています。ここでは、cronコマンドで 'first_in'を使用することはできません。私が複製したい3.xのコマンドはそうです...

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

これを回避する方法があるのでしょうか?

類似の問題を説明しているthisが見つかりましたが、これは指定された割り当てられた時間の最初のインスタンスでのみ実行され、すぐには実行されません。それをやっての

答えて

1

無地の方法は次のようになります。

job = 
    proc do 
    puts "hello" 
    end 

job.call 
    # run it right now 

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

しかし、おそらくこの1は、より読みやすいです:新しい質問を投稿するための

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の質問は少し異なります。

私はこれがrufus-scheduler 2.0.24に関することを知っていますが、3.3.xの新機能を指摘したいと思います。job.trigger_off_scheduleを実行できます。重複、mutex、他のジョブオプションでも許可されています。

2.0.24に戻ると、上記のショートカットには洗練されていないので、今すぐブロックが実行されます。ブロックにすでにインスタンスが実行されている可能性があります。「毎晩真夜中」のスケジュールが設定されていて、深夜に再起動したとします。したがって、私は上記の最初の解決策は、それがスケジュールを起動するので、最高だと思う

+1

素敵に見​​えます - 早く戻ってくれないのは申し訳ありませんが、クリスマスにはこれから離れています。心から感謝する!乾杯! –

+0

幸せな新年! – jmettraux

+0

あまりにも:)再び乾杯! –

関連する問題