Конфигурация воркера
Основные параметры конфигурации воркера задаются в секции [worker]
.
- keep_alive — при True воркер, выполнивший задачу, не завершает работу, а переходит в режим ожидания новых задач до тех пор пока есть задачи в статусе Pending. Этот параметр конфигурации необходимо ставить True, если вы запускается несколько воркеров сразу или у вас существует повторяющаяся цепочка задач (например, как с Yellow Taxi пайплайном), а также есть повторные запуски неудачного выполнения задач (retries).
- ping_interval — интервал между пингами Luigid. Этот параметр необходим для того, чтобы Luigid понимал, что задача выполняется воркером и не потерялась. По умолчанию интервал равен 1 секунде, на практике его можно увеличить, если появляется существенная нагрузка на luigid (при наличии огромного количества одновременно работающих воркеров).
- timeout — таймаут после которого задача будет завершена. Ситуаций с "зависшими" задачами следует избегать явно обрабатывая их в коде, но в нашей жизни всякое бывает, поэтому имейте в виду эту настройку. По умолчанию значение равно 0, что означает бесконечность. Если вы точно знаете, что у вас есть задачи, которые должны выполниться за отведенное время, то устанавливайте этот параметр. Время задаётся в секундах.
- wait_interval — интервал между запросами новых задач у диспетчера (luigid). По умолчанию 5 секунд.
- wait_jitter — количество секунд, которое прибавляется к wait_interval для запроса новых задач. По умолчанию 5. Это означает, что значение будет от 0 до 5.
- send_failure_email — по умолчанию True. Параметр регулирует отправку сообщений о неудачных ситуациях выполнения задач. Как я упоминал в модуле про нотификацию, luigi из коробки умеет оповещать по электронной почте при правильных настройках smtp-сервера. Если параметр установить в False, то оповещения будут приходить только от диспетчера.
- check_unfulfilled_deps — если True, то отключает проверку выполнения зависимостей задач после отправки всех задач в диспетчер. Этот параметр необходим, если в цепочке существуют задачи проверка выполнения которых занимает существенное время или в момент запуска выполнения были удалены их Target сущности.