すべてのシステムをupstartを使用してさまざまなアプリケーションプロセスを管理するように変換し始めています。私が常に欠けているのは、プロセスstop
またはrestart
イベントに別のシグナルを送信する機能です。
たとえば、WebプロセスをUnicornで実行します。Unicornには、優れた信号処理APIがあります。プロセスを正常にリロードしたい場合は、マスターpidにUSR2シグナルを送信します。それらを正常にシャットダウンするには、QUITコマンドを送信します。TERM(upstartのデフォルトの停止信号)は即時シャットダウンを構成します。
別の例はResqueの使用です。ワーカーを正常にシャットダウンするには、QUITシグナルを送信します。TERMシグナルは、ワーカーの子がフォークされているかどうかに関係なく、即座にシャットダウンします。
upstartはカスタム信号をサポートしていますか?どこにも見当たらないようで、「間違ったツール」を使っているのではないかと心配です。