0

遅延ジョブを実行したい場合の単純な理想的なシナリオは次のとおりです。

  • 最初のアプリケーション サーバー (mongrel 経由かパッセンジャー経由か) が起動すると、遅延ジョブ ワーカーが起動します。
  • 最後の実行中のアプリケーション サーバーが終了すると、すべての遅延ジョブ ワーカーが強制終了されます。

最初の部分 (開始) は実行可能ですが、「正しい」または「最良の」方法が何であるかはわかりません。条件付き (まだ実行されていないプロセス上) のシステム コールをdelayed_job start にするだけですか?

2 番目の部分 (終了) -- まあ、それが実行可能かどうかはわかりません。この効果がどのように達成されるかはまったくわかりません。

考えやアイデアはありますか?

遅延ジョブのワーカーを開始/終了する別の方法で、最善と思われるものはありますか?

副次的な質問: 上記の主な質問は、運用環境に関するものです。複数のアプリ サーバーが同時に実行されているため、より難しいケースです。親が終了すると常に終了する遅延ジョブ ワーカーを実行する子プロセスを fork することにより、開発環境 (アプリケーション サーバーが 1 つだけであり、それらのクラスターではないことが保証されている場所) で同じことを簡単に実行できますか? どうすればこれを行うことができますか?

4

1 に答える 1

1

あなたは間違いなく神との終了をやってのけることができます.

アプリのプロセスを監視するだけで、それらがすべて停止したときにコールバックが発生します。

于 2010-01-20T18:55:15.747 に答える