我有一个 Flask 应用程序,我想将其与在后台运行的 while 循环一起使用。我的第一个想法是使用线程同时运行它们。我偶然发现的问题是只有第一个线程有效(无论是 Flask 应用程序还是带有 while 循环的函数首先出现)。我的代码是:
from multiprocessing import Process
if __name__ == '__main__':
Process(target = app.run(host='0.0.0.0', port=8080)).start()
Process(target = statupdate()).start()
注意:我还使用了“thread”库,并使 Flask 应用程序拥有自己的功能。
有什么方法可以修复此错误或同时运行两者吗?
最佳答案
您有几个问题:
- 在这种情况下,您不是线程化的,而是多重处理的。这是完全不同的东西,但仍然会实现您所寻求的。
- 您正在运行这些函数,而不是将它们作为目标。
为了使其正常工作,请不要运行该函数:
Process(target=app.run, kwargs=dict(host='0.0.0.0', port=8080)).start()
Process(target=statupdate).start()
关于python - 如何使用 while 循环对 Flask 应用程序和函数进行线程化以同时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55436443/