2

画像を受け取り、それを別の非同期サービスに渡す Web API があります。ただし、合格する前に、さらに PIL を使用してスケールダウンします。

私のコードは次のようになります(単純化して、無関係な詳細をスキップします):

def render_POST(self, request):
    pil_image = Image.open(request.content)
    pil_image.thumbnail((640,640), Image.ANTIALIAS) 
    outfile = StringIO()
    pil_image.save(outfile, "JPEG")
    do_something_async_and_write_result(outfile)
    return NOT_DONE_YET

オーバーエンジニアリング*せずに非同期にする方法はありますか?

*たとえば、オーバー エンジニアリングのためだけにメッセージ キュー サービスを設定することを検討します。

4

1 に答える 1

1

スレッド セーフが指定されている場合 (PIL とその使用方法に関して)、deferToThread を使用できます:
https://twistedmatrix.com/documents/current/api/twisted.internet.threads.html

処方の強化、カルデロンに感謝

于 2013-02-07T19:21:56.860 に答える