我正在编写一个程序来计划和取消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是一个用于存储已调度事件的数组。
我需要先运行调度,然后运行schedule2,以调度两个不同的作业。尝试此操作时,出现错误,提示我无法运行schedule2,因为“调度程序已在运行”。我该如何实现?