gpt4 book ai didi

python - 线程与异步图像处理?

转载 作者:行者123 更新时间:2023-12-01 06:12:45 31 4
gpt4 key购买 nike

我有一个 Python 函数,一旦访问它就会生成图像。我可以直接根据 HTTP 请求调用它,也可以使用 Gearman 异步调用它。 有很多请求。

哪种方式更好:

  • 内联 - 创建内联图像,将导致同时生成许多图像
  • 异步 - 对作业进行排队(使用 Gearman)并在工作线程中生成图像

哪个选项更好?

在这种情况下,“更好”意味着最好的速度/负载组合。图像生成示例是象征性的,因为这也可以应用于数据库连接和其他事物。

最佳答案

I have a Python function which generates an image once it is accessed. I can either invoke it directly upon a HTTP request, or do it asynchronously using Gearman. There are a lot of requests.

您不应该在请求内执行此操作,因为这样您就无法限制(您的服务器可能会过载)。所有大型站点都使用消息队列来进行离线处理。

Which option is better?

In this case "better" would mean the best speed / load combinations. The image generation example is symbolical, as this can also be applied to Database connections and other things.

您应该异步执行此操作,因为除了可以加快您的网站速度之外,执行此操作的最令人信服的原因是,如果负载较高,您可以限制队列。您可以先执行优先级最高的任务。

<小时/>

我相信forking processes价格昂贵。我会创建几个工作进程(也许在进程内做一些线程处理)来处理负载。我可能会使用 redis因为它是fast , actively developed ( antirez/pietern 几乎每天都会提交)并且有一个非常 good/stable python client library 。 blpop/rpush 可用于模拟队列(作业)

关于python - 线程与异步图像处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844166/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com