httpリクエストハンドラーの一部として実行される、長時間実行されるpython関数があります(フォームで選択されたさまざまなオプションに関連付けられています)。
http 要求ハンドラーは、関数の実行が完了するのを待ってから、発信元に適切な応答を返します。
ただし、関数の実行には時間がかかる場合があるため、その間にリクエストが中断される可能性があります。これにより、リクエスト ハンドラが停止し、実行時間の長い関数の実行が中断されます。これは望ましくありません。関数が呼び出されるたびに実行が完了するようにしたいのです。
サブプロセスを使用して遊んだことがありますが、リクエスト ハンドラーが終了するとすぐに終了するようです。
別のスレッドまたはプロセスで関数を起動して、その親よりも長く存続できるようにすることはできますか?
デーモンはおそらく私の問題を部分的に解決しているようです-それらは親よりも長生きできますか? -しかし、親プロセスが子プロセスの結果を監視/アクセスできるようにしたいと思います。
あれは:
- 親プロセスは、子プロセスより先に終了する場合があります。この場合、子プロセスを完了させたい
- 親プロセスがまだ生きている限り、子プロセスにアクセスしたり、監視したりしたいと思います...親プロセスが死なない場合は、アクセスできるようにしたいと思います子供が行っていた処理の結果。