APScheduler: пропущено: достигнуто максимальное количество запущенных экземпляров - даже если задание занимает менее нескольких секунд - PullRequest
0 голосов
/ 17 июня 2020

Я выполняю функцию каждую секунду, используя Python APscheduler (версия 3.1). Функция выполняет некоторую работу, регистрирует выполненную работу и возвращает

def main():
    print ("some_work start")
    some_work()
    print ("some_work end")

background_scheduler = BlockingScheduler()  
atexit.register(lambda: background_scheduler.shutdown())
background_scheduler.add_job(main, CronTrigger.from_crontab(schedule))                   
background_scheduler.start()

Журналы:

2020-06-17 11:49:08,720 - apscheduler.scheduler - INFO - Adding job tentatively -- it will be properly scheduled when the scheduler starts
2020-06-17 11:49:08,721 - apscheduler.scheduler - INFO - Added job "main" to job store "default"
2020-06-17 11:49:08,721 - apscheduler.scheduler - INFO - Scheduler started
2020-06-17 11:49:08,721 - apscheduler.scheduler - DEBUG - Looking for jobs to run
2020-06-17 11:50:00,001 - apscheduler.executors.default - INFO - Running job "main (trigger: cron[month='*', day='*', day_of_week='*', hour='*', minute='*'], next run at: 2020-06-17 11:50:00 IST)" (scheduled at 2020-06-17 11:50:00+05:30)
2020-06-17 11:50:00,002 - root - INFO some_work start
2020-06-17 11:50:00,002 - root - INFO some_work end
2020-06-17 11:52:00,001 - apscheduler.scheduler - DEBUG - Looking for jobs to run
2020-06-17 11:52:00,002 - apscheduler.scheduler - WARNING - Execution of job "main (trigger: cron[month='*', day='*', day_of_week='*', hour='*', minute='*'], next run at: 2020-06-17 11:52:00 IST)" skipped: maximum number of running instances reached (2)
2020-06-17 11:53:00,002 - apscheduler.scheduler - DEBUG - Next wakeup is due at 2020-06-17 11:54:00+05:30 (in 59.998078 seconds)
2020-06-17 11:53:00,001 - apscheduler.scheduler - DEBUG - Looking for jobs to run
2020-06-17 11:54:00,002 - apscheduler.scheduler - WARNING - Execution of job "main (trigger: cron[month='*', day='*', day_of_week='*', hour='*', minute='*'], next run at: 2020-06-17 11:52:00 IST)" skipped: maximum number of running instances reached (2)
2020-06-17 11:54:00,002 - apscheduler.scheduler - DEBUG - Next wakeup is due at 2020-06-17 11:55:00+05:30 (in 59.998078 seconds)

Задание было успешно выполнено при первом запуске, но после этого не было выполнено. Я уверен, что работа не займет больше нескольких секунд, а расписание поминутное. Я уже просматривал старые вопросы SO, такие как this и this и другие, но ни один из них не помог.

...