python ApsScheduler-已跳过:已达到最大运行实例数

python ApsScheduler-已跳过:已达到最大运行实例数,python,cron,scheduler,apscheduler,Python,Cron,Scheduler,Apscheduler,我使用Python ApsScheduler(版本3.0.1)每秒执行一个函数 代码: scheduler = BackgroundScheduler() scheduler.add_job(runsync, 'interval', seconds=1) scheduler.start() 大多数情况下,它工作正常,但有时我会收到以下警告: WARNING:apscheduler.scheduler:Execution of job "runsync (trigger: interval[0:

我使用Python ApsScheduler(版本3.0.1)每秒执行一个函数

代码

scheduler = BackgroundScheduler()
scheduler.add_job(runsync, 'interval', seconds=1)
scheduler.start()
大多数情况下,它工作正常,但有时我会收到以下警告:

WARNING:apscheduler.scheduler:Execution of job "runsync (trigger: interval[0:00:01], next run at: 2015-12-01 11:50:42 UTC)" skipped: maximum number of running instances reached (1)
1.这是执行此方法的正确方法吗

2.这个警告是什么意思?它是否会影响函数中任务的执行


3.如何处理此问题?

这意味着任务耗时超过1秒,默认情况下,给定作业只允许一次并发执行。在不知道任务是关于什么的情况下,我无法告诉您如何处理此问题。

如果您希望同时运行同一作业的实例并避免出现警告,则可以在计划程序的
add_job()
方法中包含
max_instances
参数。默认值为1

增加
max_实例数
如果特定用例允许,只需增加
max\u实例
,如下所示

import apscheduler.schedulers.blocking

scheduler = apscheduler.schedulers.blocking.BackgroundScheduler('apscheduler.job_defaults.max_instances': '2')

有三种
apscheduler
配置样式。这些都在中描述。

我非常确定我的任务不会超过时间间隔。我只是照此操作,并按照建议切换到
apscheduler==2.1.2

Hi Alex,任务检查FTP位置内的文件夹,如果找到该文件夹,它将开始从这些文件夹中提取数据,这可能需要24小时。由于此过程需要一秒钟以上的时间,你会经常看到这些警告。不过你不需要做任何事情。