3

https://github.com/jmettraux/rufus-schedulerは次のように述べています。

rufus-schedulerは、コード(ジョブ)をスケジューリングするためのRubygemです。特定の時間、特定の時間、x回ごと、または単にCRONステートメントを介してジョブを実行することを理解します。

rufus-schedulerは、Ruby内で実行されるため、cron/atの代わりにはなりません。

それで、それがルビーの中で走ったらどうなるでしょうか?rubyのsystemコマンドを使用してcronにアクセスできませんか?

4

2 に答える 2

11

rufus-schedulerは、「in-ruby-process」スケジューラーです。これは、cron/atの置換を意味するものではありません。

rufus-schedulerは、コマンドラインでのcron / atに慣れていない人向けではなく、rubyプロセス内で直接スケジュールを設定する(そしてそれが何を意味するのかを理解する)人向けです。

rufus-schedulerがcron/atの代わりとして意図されていた場合、それはジョブにある種の永続性を提供しますが、そうではありません。

別の見方:http ://adam.heroku.com/past/2010/6/30/replace_cron_with_clockwork/

于 2011-03-30T08:08:43.887 に答える
3

crontabrufus-schedulerは、システムの、atまたはを使いにくい人向けだと思いますbatch

cronこれらの2つのコマンドは自動的に繰り返されるコマンドをサポートしていないため、繰り返し/定期的なジョブを実行atし、1回限りのジョブ用です。batch

したがって、rufus-schedulerは他のコマンドの機能を作成していますが、コマンドラインや他のコマンドに慣れている場合は、私の意見ではあまり購入しません。

私はそれを使用していませんが、ソースを調べました。私の懸念は、rufus-schedulerがスレッドに依存しているように見えることです。つまり、Rubyはアプリをバックグラウンドで実行し続け、適切な時間または間隔で実行されるのを待ちます。プロセスが強制終了されたり、マシンが再起動したりすると、ジョブが実行されないように見えます。これは、再起動後もアプリがメモリにない場合でも持続するシステムのコマンドとの大きな違いです。

私たちは仕事でcronをよく使用します。これは業界標準のツールであり、ほとんどのユーザーはそれを知りませんが、すべてのLinuxおよびMacコンピューターは1日中cronでスケジュールされたジョブを実行しています。

于 2011-03-30T06:19:14.330 に答える