2

私はデーモンプロセスを持っており、魔女はmultiprocessingいくつかの作業を行うために使用して子プロセスを生成します。各子プロセスは、DB(私の場合はpostgres)を実行する独自の接続ハンドルを開きます。プロセスへのジョブは経由Queueで渡され、キューが空の場合、プロセスsleepはしばらくの間呼び出し、キューを再チェックします

SIGTERMに「グレースフルシャットダウン」を実装するにはどうすればよいですか?各サブプロセスは、現在のカーソル/トランザクションとデータベース接続、および開いているファイルを閉じる/終了することに関して、可能な限り速く終了する必要があります。

4

1 に答える 1

4

開いているすべてのファイル/接続などを保存します。グローバル構造で、それらをすべて閉じて、SIGTERM ハンドラーで終了します。

于 2012-04-25T19:31:16.650 に答える