Я пишу программу для планирования и отмены сигналов тревоги во Flask. Я использую библиотеку apscheduler для синхронизации.
Мне нужно иметь возможность добавлять события в очередь заданий в любой момент, поэтому я должен иметь возможность добавлять события после запуска планировщика.
В настоящее время у меня есть:
from apscheduler.schedulers.background import BackgroundScheduler
def cancel():
job = events[0]
job.remove()
def schedule():
sched = scheds[0]
try:
sched.shutdown()
except:
pass
job = sched.add_job(my_job, 'date', run_date=t, args=['text'])
events.append(job)
sched.start()
def schedule2():
sched = scheds[0]
try:
sched.shutdown()
except:
pass
job = sched.add_job(my_job, 'date', run_date=t2, args=['text'])
events.append(job)
sched.start()
Где scheds - это массив для хранения глобального планировщика, а events - это массив, в котором хранятся запланированные события.
Мне нужноЗапустите расписание, затем расписание2, чтобы запланировать две разные работы. Когда я пытаюсь это сделать, я получаю сообщение об ошибке, в котором говорится, что я не могу запустить schedule2, потому что «планировщик уже запущен». Как мне этого добиться?