проблема с потоковым таймером python с большим интервалом

#python #python-3.x #timer #python-multithreading #intervals

#питон #python-3.x #таймер #python-многопоточность #интервалы

Вопрос:

Когда я ставлю большой интервал для выполнения, программа заканчивается без выполнения данной функции (объединение не решает проблему)

 from threading import Timer  class TimerThread:  def __init__(self, delay_time, thread_function):  self._delay_time = delay_time  self._thread_function = thread_function  self._timer = None   def run_repeatedly(self):  self._thread_function()  self._timer = Timer(self._delay_time, self.run_repeatedly)  self._timer.start()  self._timer.join()  timer = TimerThread(60 * 60, self.func)  timer.run_repeatedly()  

Ответ №1:

Я проверил ваш код, и он, кажется, работает (без join ):

 from threading import Timer  class TimerThread:  def __init__(self, delay_time, thread_function):  self._delay_time = delay_time  self._thread_function = thread_function  self._timer = None   def run_repeatedly(self):  self._thread_function()  self._timer = Timer(self._delay_time, self.run_repeatedly)  self._timer.start()    def cancel(self):  if self._timer is not None:  self._timer.cancel()  def my_func():  print("Hello")   timer = TimerThread(3600, my_func)  timer.run_repeatedly()  

Комментарии:

1. спасибо, та же проблема, к сожалению, это не решение

2. Затем вам нужно опубликовать полный пример вашего кода, который приводит к ошибке. В противном случае выявить проблему невозможно.