Я запускаю таймер Python в представлении Django, и я использую другое представление 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 существует в одном процессе, но не существует в другом. –