gpt4 book ai didi

python - 带后台线程的flask应用程序

转载 作者:行者123 更新时间:2023-12-03 13:39:29 26 4
gpt4 key购买 nike

我正在创建一个flask应用程序,对于一个请求,我需要运行一些长时间运行的作业,而无需在UI上等待。我将创建一个线程并将消息发送到UI。该线程将计算并更新数据库。但是,UI在提交后会看到一条消息。
下面是我的实现,但是它正在运行线程,然后将输出发送到我不喜欢的UI。如何在后台运行该线程?

@app.route('/someJob')
def index():
t1 = threading.Thread(target=long_running_job)
t1.start()
return 'Scheduled a job'

def long_running_job
#some long running processing here

如何使线程t1运行后台并立即发送消息作为返回?

最佳答案

对于这种事情,最好的办法是使用消息代理。 python世界中有一些出色的软件可以做到这一点:

  • celery (http://www.celeryproject.org/)和
  • RQ(http://python-rq.org/)。

  • 两者都是绝佳的选择。

    生成线程几乎不是一个好主意,因为这可能会导致处理传入请求等问题。

    如果您查看celery或RQ入门指南,他们将引导您正确地进行操作!

    关于python - 带后台线程的flask应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22615475/

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