Я выполняю функцию каждую секунду, используя 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 и другие, но ни один из них не помог.