Skip to main content
 首页 » 编程设计

当运行的作业太多时,python apscheduler 不一致

2025年05月04日23jpfss

我正在使用一个使用 python apscheduler.scheduler 的调度程序,在我的项目中,运行的作业太多,但机器负载不是太高,在阅读文档后,我得出了解决方案,我必须增加线程的大小,但我不知道,如何增加线程 我的语法:

scheduler.add_interval_job(triggerTask, interval_time, args=[], misfire_grace_time = None) 
 
scheduler.add_cron_job(triggerTask, interval_time, args=[], misfire_grace_time = None) 

请您参考如下方法:

由于您有 90 个任务要运行,您可能需要增加线程数,如果它们对计算敏感,您还应该使用 ProcessPoolExecutor :

from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor 
from apscheduler.schedulers.background import BackgroundScheduler 
 
executors = { 
    'default': ThreadPoolExecutor(90),   # max threads: 90 
    'processpool': ProcessPoolExecutor(20)  # max processes 20 
} 
scheduler = BackgroundScheduler(executors=executors)  

scheduler将使用 default executor默认,可以通过scheduler.add_interval_job(triggerTask, interval_time, executor="<executor's name>")指定executor .