如何对烧瓶应用程序进行线程化并使用while循环功能以同时运行?

时间:2019-03-30 23:06:52

标签: python python-3.x multithreading flask

我有一个flask应用程序,我想与在后台运行的while循环一起使用。我的第一个想法是使用线程同时运行它们。我偶然发现的问题是,只有第一个线程有效(无论烧瓶应用程序还是带有while循环的函数都在第一位)。我的代码是:

from multiprocessing import Process

if __name__ == '__main__':
    Process(target = app.run(host='0.0.0.0', port=8080)).start()
    Process(target = statupdate()).start()

注意:我还使用了“线程”库,并使flask应用程序具有自己的功能。

是否有某种方法可以解决此错误或同时运行这两个错误?

1 个答案:

答案 0 :(得分:2)

您有几个问题:

  • 在这种情况下,您不执行线程处理,而是多进程处理。完全不同,但是仍然可以实现您想要的。
  • 您正在运行这些功能,而不是将其作为目标。

为了使这项工作有效,请不要运行该函数:

Process(target=app.run, kwargs=dict(host='0.0.0.0', port=8080)).start()
Process(target=statupdate).start()