遅延ジョブをアプリサーバーからフォークしますか?
-
21-09-2019 - |
質問
これは、遅延ジョブを実行したい場合の簡単な理想的なシナリオです。
- 最初のアプリケーション サーバー (雑種またはパッセンジャー経由) が起動すると、遅れていたジョブ ワーカーが起動します。
- 最後に実行中のアプリケーション サーバーが終了すると、遅延したジョブ ワーカーはすべて強制終了されます。
最初の部分 (開始) は実行可能ですが、それを実行する「正しい」または「最良の」方法が何かはわかりません。条件付き(まだ実行されていないプロセスに対して)システムコールを遅延_job start?に実行するだけです。
2 番目の部分 (終了) -- まあ、それが実行可能かどうかはわかりません。この効果がどのようにして達成されるのか全く分かりません。
何か考えやアイデアはありますか?
遅延ジョブワーカーを開始または終了するための、最善だと思われる別の方法はありますか?
補足質問:上記の主な質問は運用環境に関するものです。複数のアプリ サーバーが同時に実行されているため、より困難なケースになります。開発環境 (アプリケーション サーバーのクラスターではなく、アプリケーション サーバーが 1 つだけであることが保証されている環境) で、親プロセスが終了すると必ず終了する遅延ジョブ ワーカーを実行するように子プロセスをフォークすることで、同じことを簡単に実行できるでしょうか?どうすればいいでしょうか?
解決
あなたは間違いなく神にしてオフ終了引っ張る可能性があります。
単にアプリのプロセスを監視し、それらがすべて停止しているときに神がコールバックを起動します。
所属していません StackOverflow