3
Как записывать журналы внутри задания от apscheduler?Захват журналов в apscheduler
Предположим, у меня есть следующая работа
@sched.interval_schedule(hours=3)
def some_job():
log.info('I was here.')
log.info('And here.')
И слушатель
sched.add_listener(job_listener,
events.EVENT_JOB_EXECUTED |
events.EVENT_JOB_MISSED |
events.EVENT_JOB_ERROR)
def job_listener(event):
# how do I get the logged messages here?
Как я могу получить доступ сообщения в job_listener
?
Есть состояние гонки здесь? Я не вижу, как сообщения в очереди фактически связаны с заданиями. Разве не возможно, что задание 1 помещает сообщение в очередь, затем задание 2 делает в другом потоке, и событие задания 2 срабатывает первым, и вы видите, что оно печатает «msg from job 2:» вместе с сообщением из задания 1? – dmd
Да, подтверждено. Не используйте вышеуказанный код! Если у вас одновременно запущено несколько заданий, вы не получите правильный идентификатор задания, связанный с правильным сообщением. – dmd