2

これはstackoverflowに関するFAQのように見えるかもしれませんが、私の要件は少し異なります。以前はRubyでバックグラウンドプロセスを実行するためにBackgroundRBとDJを使用していましたが、今回の要件は、膨大なデータセットに対して大量の分析と数学的計算を実行することであり、これを実行する必要があるのは月の最初の15日間だけです。 。これにより、この目標を達成するためにcronを使用してrubyスクリプトを実行したいと思います。

私が知りたい/理解したいことは次のとおりです:1-cronを使用するのは良い考えです(私はシステム管理者ではないので、cronの基本的な考えはありますが、完全に実行することに自信がありません)2 -どういうわけか、月の最初の15日間(cronを使用する/使用しない)にのみ実行するようにDJを変更し、その日のキュー内のすべてのジョブが終了したら停止して終了することはできますか(実行したくない)新しいジョブのために毎回DBにpingを実行します...DJの開始時にキューにあるジョブが何であれ、それがすべてになります)。

質問を正しい方法で行ったかどうかはわかりませんが、この方向での助けをいただければ幸いです。

ありがとう

4

4 に答える 4

3

cronの「分時日月日曜日」の時刻指定では、毎月1日から15日までの午前3時33分は「333 1-15**」になります。

于 2010-04-12T20:47:51.120 に答える
0

cronの使用は非常に簡単で、多くの例があり、信頼性があります。

とにかく、ここにあなたが見たいと思うかもしれないRailcastsからのいくつかのスクリーンキャストがあります:

ムクドリと働き

カスタムデーモン

于 2010-04-12T20:54:38.763 に答える
0

ええ、どうしてですか?cronを使用してください。それは実際に非常によくテストされており、定期的なタスクを実行するのに非常に適しており、信じられないほど使いやすいです。crontab構文を学ぶ必要はありません(非常に簡単ですが)-スクリプトを/etc/cron.dailyにドロップするだけです(このオプションは一部のLinuxディストリビューションでのみ使用できる場合があります)。

「月の最初の15日だけ」についてはよくわかりませんが、タスク内でこの状態を簡単に処理できますよね?

編集:

パーの回答をチェックして、特定の日数でのみタスクを実行する方法を確認してください。

于 2010-04-12T17:14:24.697 に答える
0

私にもこの要件がありました。AdvancedRailsRecipesブックの「AutomaticPeriodicTasks」レシピ75に従いました。レシピはデビッドボックによって書かれています。cronとcapistranoを使用してこれを実現する方法に関するいくつかのコードスニペットとガイドラインがあります。ただし、ターゲットマシン上に存在する必要があるユーザー/権限に関して、未解決の(ただし言及されている)問題があります。それを正しくすることはそれほど難しいことではありません。それを忘れずに実行し、デプロイメントcapistranoスクリプトに配置する必要があります。

David Bockはこれに取り組み続けており、cronで使用するためのgemを作成したようです。彼のブログを参照し、githubでcrondonkulousをフォローしてください。Crondonkulousは、このユーザー/許可のことを非常にうまく処理する可能性があります。私はそれを試していません。

ジャール

于 2010-04-13T08:49:02.747 に答える