起動時に特別なデータ構造をロードし、その後定期的にロードするワーカー プロセスがあります。
ただし、データ構造 (サード パーティの C++ モジュール) にはメモリ リークがあります。
ガンコーンの「max_requests」設定を使用して、非常に多くのリクエストの後にワーカーを期限切れにすることを試みました。これにより、ワーカーのリソースがクリアされ、データ構造がリロードされます。しかし、私が立ち入らないいくつかの厄介な問題がありました。
os._exit(0) を追加して、ワーカーを強制的に停止 (およびリロード) しようとしましたが、これは、要求がエラー応答を受け取ったことを意味します。
私がやりたいことは、「max_requests」フラグがトリガーされたかのように、gunicorn に応答を送信してからワーカーを殺すように通知することです。
それを行うメカニズムはありますか?