瓶服务器退出时线程仍然运行

正如标题所述,我创建了一个单独的线程来执行Flask中的长任务。瓶服务器退出时线程仍然运行

import schedule 

import time

start_time = time.time()

def job():

print("I'm working..." + str(time.time() - start_time))

def run_schedule():

while True:

schedule.run_pending()

time.sleep(1)

当我按下Ctrl + c终止服务器,线程仍然prints。 服务器退出时如何停止线程?

回答:

您可能希望将您的线程设置为daemon。

一个线程会一直运行,直到它自行结束或者它被明确地终止。

守护线程以相同条件运行,并且至少有另一个非守护线程正在运行:这意味着如果您结束了主线程并且没有其他线程正在运行,则所有守护线程也将结束。

如果你使用线程模块,您可以设置线程的后台。通过改变自己的布尔:

import threading 

your_thread.daemon = True

如果你使用线程模块,它应该是kwargs

以上是 瓶服务器退出时线程仍然运行 的全部内容, 来源链接: utcz.com/qa/262082.html

回到顶部