【问题标题】:APScheduler Cannot schedule new futures after shutdownAPScheduler 关闭后无法安排新的期货
【发布时间】:2020-08-05 09:33:08
【问题描述】:

当调度程序关闭并启动时,我正在测试一个用例,它必须选择作业存储中保留的所有调度。当我在关闭后尝试启动计划时,我遇到了以下问题。以下是运行时错误。

RuntimeError: cannot schedule new futures after shutdown Error submitting job "testTrigger: interval[0:00:01], next run at: ... to executor default"

代码:

            from apscheduler.schedulers.background import BackgroundScheduler
            from apscheduler.jobstores.mongodb import MongoDBJobStore
            from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
            from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
            from apscheduler.schedulers.base import BaseScheduler
            
            jobstores = {
                'default': SQLAlchemyJobStore(url='sqlite:///jobs.sqlite')
            }
            
            executors = {
                'default': ThreadPoolExecutor(20),
                'processpool': ProcessPoolExecutor(5)
            }
            job_defaults = {
                'coalesce': False,
                'max_instances': 3
            }
            scheduler = BackgroundScheduler(jobstores=jobstores, executors=executors, 
            job_defaults=job_defaults, timezone=utc)
        
               def testTrigger(schedule):
                 print("APScheduler..."+str(schedule))
    
     scheduleList=[1,2]
        //Adding List of Jobs
    for schedule in scheduleList:
        scheduler.add_job(testTrigger,args=[schedule],'interval',seconds=schedule,id='schedule_'+str(schedule),replace_existing=true)
        
    if scheduler.running:
    else:
       scheduler.start
    #scheduler.shutdown()

我在理解行为方面是否遗漏了什么

【问题讨论】:

  • 请放完整代码,没有语法错误。代码必须产生所述错误。

标签: python python-3.x scheduling concurrent.futures apscheduler


【解决方案1】:

我只调用了 start() 方法一次。当我调用shutdown() 时,我只是检查这是否是第一个。看起来 shtudown() 并没有完全停止任务,因为如果我再次插入新作业,那么这些任务在不调用 start() 方法的情况下执行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多