#python-3.x #apscheduler
Вопрос:
У меня есть некоторый код, структурированный, как в приведенном ниже примере, настроенный на запуск каждые четыре часа. Это, кажется, запускается правильно, но вместо того, чтобы запускать job() только один раз, застревает в каком-то цикле. Я добавил код в задание для печати, когда оно начинается и когда заканчивается, и оно достигает этой конечной точки, поэтому я думаю, что это должно быть что-то с apscheduler, вызывающим это.
from apscheduler.schedulers.blocking import BlockingScheduler def job(): # do some stuff here def monitor(): # do something here sched = BlockingScheduler() sched.add_job(job, 'cron', id='job', hour='0, 4, 8, 12, 16, 20', second='35') sched.add_job(monitor, 'cron', id='monitor', hour='0', minute='3', second='15') sched.start()
Единственное, что я вижу в своем журнале, — это такая заметка:
Execution of job "job (trigger: cron[hour='0,4,8,12,16,20', second='35'], next run at: 2021-10-31 04:45:35 UTC)" skipped: maximum number of running instances reached (1)
Но обычный журнал для кода job() продолжается и после этого момента. Также стоит отметить, что для выполнения задания() не требуется целых 3 минуты, поэтому оно не должно сталкиваться с монитором (), и эта проблема возникает даже в 4-20 часов, когда монитор впоследствии не вызывается.