1
我在Django視圖中啓動了Python Timer,並且正在使用另一個Django視圖來取消它。但是,我發現我不能一直訪問Timer對象,當我試圖取消它。計時器對象不可訪問
在我的「views.py」的代碼如下所示:
import threading
myTimer = None
def f():
pass
def startTimer(request):
global myTimer
myTimer = threading.Timer(10000, f)
myTimer.start()
pass
def stopTimer(request):
if myTimer != None:
myTimer.cancel()
else:
print("No timer found.")
pass
當我試圖取消計時器,很多時候,我得到了「沒有發現計時器」。信息。經過一些嘗試後,似乎以隨機的方式發現Timer對象並取消成功。只有當我在服務器上運行代碼時纔會發生這種現象。當代碼在我的本地機器上運行時,這個問題從未發生過。
你作爲服務器軟件使用什麼?它是否配置爲以單個進程或多個進程運行?我懷疑你的服務器上有多個進程,所以Timer對象存在於一個進程中,但不存在於另一個進程中。 –