Я использую apscheduler для рекурсивного запуска функции в моем приложении. Основной источник этой функциональности выглядит следующим образом:
class ClassName(QtGui.QWidget)
def __init__(self):
super(ClassName, self).__init__()
from apscheduler.scheduler import Scheduler
sched = Scheduler(standalone=True)
sched.daemonic = False
sched.add_cron_job(self.FunctionName, second='*/5')
def FunctionName(self):
print("Hello World!")
#Function contents here
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
ClassName = ClassName()
sys.exit(app.exec_())
Из чтения этого потока я понял, что если вызываемая функция не завершилась при запуске следующего задания, может возникнуть ошибка «Достигнуто максимальное количество запущенных экземпляров». Я понимаю теорию решения в этой теме, но не уверен в приложении.
Должен ли я явно указывать в конце вызываемой функции завершение/уничтожение процесса, чтобы гарантировать, что исходный поток будет удален до запуска следующего потока?