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对象存在于一个进程中,但不存在于另一个进程中。 –