gpt4 book ai didi

python - 在 Flask-UWSGI 应用程序中处理耗时的请求

转载 作者:太空宇宙 更新时间:2023-11-03 16:24:57 25 4
gpt4 key购买 nike

我正在使用 Flask 、 UWSGI 和 Nginx 运行应用程序。我的 UWSGI 设置为生成 4 个并行进程来同时处理多个请求。现在,我有一个请求需要花费大量时间,并且会更改有关应用程序的重要数据。因此,当一个 UWSGI 进程正在处理该请求并说所有其他进程也很忙时,第五个请求将不得不等待。这里的问题是我无法更改此请求以在离线模式下运行,因为它会更改重要数据并且用户不能简单地保持未知状态。处理这种情况的最佳方法是什么?

最佳答案

作为一个选项,您可以执行以下操作:

  1. 将繁重的逻辑与正在调用的函数分开在 @route 上并将其移动到一个单独的位置(一个文件,另一个功能等)
  2. 引入 Celery 来运行那些繁重的逻辑(它将在与 @route 修饰的函数不同的线程中进行处理)。实现此目的的一种快速方法是使用 Redis 作为消息代理。
  3. 从@route-decorated中安排耗时的函数Celery 中的函数(也可以传递参数)

这样,在整个函数执行时间内,HTTP 请求就不会被阻止。

关于python - 在 Flask-UWSGI 应用程序中处理耗时的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38072956/

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