簡體   English   中英

Flask服務器退出時線程仍在運行

[英]Thread still runs when flask server exits

正如標題所描述的,我創建了一個單獨的線程來在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

如果您使用的是線程模塊,則應該是其中之一

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM