Почему запускаются 2 задачи apscheduler?
def test():
print('hi')
scheduler = AsyncIOScheduler(timezone='Europe/Moscow')
job = scheduler.add_job(test, 'interval', seconds=5)
scheduler.start()
Вот такой вывод в консоли:
INFO:apscheduler.scheduler:Adding job tentatively -- it will be properly scheduled when the scheduler starts
INFO:apscheduler.scheduler:Added job "test" to job store "default"
INFO:apscheduler.scheduler:Scheduler started
INFO:apscheduler.scheduler:Adding job tentatively -- it will be properly scheduled when the scheduler starts
INFO:apscheduler.scheduler:Added job "test" to job store "default"
INFO:apscheduler.scheduler:Scheduler started
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Такие проблемы обычно связаны с многопроцессностью, используемой библиотеками Питона.
Попробуйте поместить ваш код вызова шедулера в такую конструкцию:
if __name__ == '__main__':
scheduler = AsyncIOScheduler(timezone='Europe/Moscow')
job = scheduler.add_job(test, 'interval', seconds=5)
scheduler.start()
И вообще возьмите за правило не оставлять у себя никакой "бесхозный" код (не помещённый в классы, функции, либо в эту конструкцию, указанную выше). Весь код, не находящийся внутри чего-то, а размещённый на первом уровне, будет повторно выполнен при запуске шедулером дополнительного процесса, который будет исполнять вашу функцию test. Что вы по-видимому и наблюдаете.