1

あるプロセスから別のプロセスに何らかの方法で応答オブジェクトを「移動」できますか?

最初のプロセスは、他のIOを実行する非ブロッキングサーバーです。TornadoやTwistedなどの非ブロッキング環境で実行する必要があります。

PILを使用して画像を処理するには、別のプロセス(実際には「ワーカー」プロセスのプール)が必要です。GILのため、スレッドでそれを行うことはできません。ただし、ワーカーは結果を書き込むために応答オブジェクトのファイルハンドルを取得する必要があるか、結果を最初のプロセスに戻す必要があります。結果はかなり大きくなる可能性があるため(〜1 mb)、そうではありません。良い考えのようです。(おそらく、すべてのリクエストのフォークではなく、プロセスの個別のプールになるでしょう-後者は悪い戦略のようです)

それで、どういうわけか、ワーカープロセスが応答に直接書き込むことを許可できますか?

4

1 に答える 1

0

できません。一度に 1 つのポートにアクセスできるのは 1 つのプロセスのみであり、ポートにアクセスせずに直接応答することはできません。

しかし、あなたはそれを必要としません。必要なのはプロキシです!別のポートでリッスンするスレッドをアプリに追加できます。次に、イメージ プロセスを起動し、そのプロセスが作業を終了すると、結果をポートに送信できます。次に、スレッドがそれを読み取り、応答を送信します。

于 2012-07-09T11:36:49.073 に答える