私はすべて1分、特定のタスクを実行する必要があるRailsアプリケーション上のルビー実行しています:ルーファス・スケジューラの同時実行
scheduler.every '1m' do
.....
end
をしかし、時には、仕事は作業を完了するために1分以上かかります。起こっているのは、彼が終わる前にルーファスが新しい仕事を始め、それが終わる前に前の仕事を "殺す"ということです。 ルーファスが次の仕事を開始する前に仕事の終了を期待する方法はありますか?
Psの:まだ開発中なので、私はあなたがあなたの仕事のためにファイルロックのチェックを追加することができますWEBrickに
hm。私はRufusに精通していませんが、私は多くのスケジューリングを行っています。代わりにインターバルジョブを実行することがあります。 Rufusのドキュメンテーションから:「すべての仕事は10分ごとのようなものですが、これをやってください」という言葉は10分待ってからもう一度やり直してください。そのうちの1つをスケジュールし、それが完了するのを待ってから、1m(またはあなたの間隔が何であれ)で再びスケジュールを立てます。 –