rufus-scheduler と cron の違いは何ですか?
-
14-11-2019 - |
質問
https://github.com/jmettraux/rufus-scheduler と述べています:
rufus-scheduler は、コード部分 (ジョブ) をスケジュールするための Ruby gem です。これは、特定の時刻、特定の時刻、毎回の x 回、または単に CRON ステートメントを介してジョブを実行することを理解します。
rufus-scheduler は Ruby 内で実行されるため、cron/at の代替にはなりません。
では、それが Ruby 内で実行されたらどうなるでしょうか?Ruby の system コマンドを使用して cron にアクセスすることはできませんか?
解決
rufus-scheduler は、システムの使用に慣れていない人向けだと思います。 crontab
, at
または batch
.
cron
繰り返し/定期的なジョブを実行し、 at
そして batch
これら 2 つのコマンドは自動的に繰り返されるコマンドをサポートしていないため、これら 2 つは 1 回限りのジョブ用です。
したがって、rufus-scheduler は他のコマンドの機能を作成していますが、コマンドラインや他のコマンドに慣れているのであれば、私の意見ではそれほど価値はありません。
私は使用したことがありませんが、ソースを調べました。私の懸念は、rufus-scheduler がスレッドに依存しているように見えることです。つまり、Ruby はアプリをバックグラウンドで実行し続け、適切な時間または間隔で実行されるのを待機します。プロセスが強制終了されたり、マシンが再起動されたりすると、ジョブは実行されないように見えます。これは、再起動後も保持されるシステムのコマンドや、アプリがメモリ内に存在しない場合と比べて大きな違いです。
私たちは仕事で cron を頻繁に使用します。これは業界標準のツールであり、ほとんどのユーザーはそのことを知りませんが、すべての Linux および Mac コンピュータは cron でスケジュールされたジョブを 1 日中実行しています。
他のヒント
rufus-schedulerは "un-ruby-process"スケジューラです。それはすべての交代であることを意味するものではありません。
Rufus-schedulerは、Cron / Commant Lineで快適ではない人のためのものではなかった、それは彼らのRubyプロセスの中で直接のものをスケジュールすることを望んでいることを意図していました(そしてそれが何を意味するのかを理解する)。
RUFUSスケジューラがCron / ATの代替品として決定された場合、それはジョブに何らかの種類の永続性を提供するでしょうが、そうではありません。
それ以外の場合:> http://adam.holoku.com// 2010/6/30 / replacation_cron_with_clockwork /