调用.start()APscheduler后进行Schdeuling作业

时间:2019-10-31 18:50:04

标签: python scheduler apscheduler

我正在编写一个程序来计划和取消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,因为“调度程序已在运行”。我该如何实现?

0 个答案:

没有答案