Я использую BackgroundScheduler. Я добавляю в него разные задачи, вызываемые поочередно. Исходя из определенных условий, задача может остановить выполнение всех следующих задач.
Я нашел решение, которое работает, но я не уверен, что это правильно.
В настоящее время я передаю в вызываемые методы планировщик. При необходимости метод вызывает scheulder.remove_all_jobs ()
Main:
scheduler = BackgroundScheduler()
# schedule tasks every minute
scheduler.add_job(
lambda: loop(scheduler),
'interval',
minutes=1
)
scheduler.start()
Вызываемый метод:
def loop(scheduler):
# to stuff
if condition:
# stop future tasks from being executed
scheduler.remove_all_jobs()
#scheduler.shutdown()
Нужно ли вызывать функцию отключения?