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

增强配方,感谢 Calderone

于 2013-02-07T19:21:56.860 回答