簡體   English   中英

Flask-Restx(/Flask-Restplus) 檢測重載

[英]Flask-Restx(/Flask-Restplus) detect reload

我的問題如下:在我的 Flask-Restx-Application 中,我創建了一個 Runner-Thread,它與 Flask-Application 的主線程異步運行。

現在,當我像往常一樣進行更改時,調試器仍然顯示* Detected change in 'XXXXX', reloading這是一個有用的功能。 問題是現在它卡住了並且由於必須手動停止正在運行的線程而無法重新加載。

如果可能的話,我仍然希望將自動重新加載與異步 Runner-Thread 結合使用。 是否有可能通過觸發事件或類似的東西來“檢測”這些重新加載? 然后我可以手動關閉 Runner-Thread 並使用應用程序重新啟動它。 或者至少有可能不阻止重新加載以繼續重新加載與flask-restx相關的東西?

提前感謝您的幫助。

PS:我發現這里很難添加代碼,因為我不知道燒瓶應用程序的哪些部分很重要。 如果您需要任何代碼來回答問題,我會將其添加到編輯中。

如果您希望重新加載器工作,您需要使您的線程成為守護線程。 重新加載器將嘗試終止並重新啟動程序(通過終止主線程),但由於您的其他線程不是守護程序,因此它將無法終止程序並重新加載它。 守護線程是一個只在主線程存在的情況下存在的線程,因此使您的另一個線程成為守護線程將解決您的問題。 這是一個例子:

from threading import Thread

...

t = Thread(...)
t.daemon = True # this makes your thread a daemon thread
t.start()

暫無
暫無

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

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