Выбор ответа Middle ETL, ELT и Airflow обновлено

Режим сенсора

Вопрос

Десятки сенсоров ждут файлов партнёров по несколько часов, и остальные задачи перестали запускаться. Что поменять?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Перевести сенсоры в режим reschedule (или deferrable), чтобы не держать слот, и задать таймауты. В режиме poke сенсор держит слот воркера всё время ожидания. reschedule освобождает слот между проверками, а deferrable-операторы передают ожидание лёгкому процессу triggerer.

Варианты ответа

  1. Уменьшить poke_interval до 1 секунды, чтобы сенсоры быстрее находили файлы и освобождали слоты
  2. Удалить сенсоры и запускать задачи по расписанию с запасом, рассчитывая, что файл уже появится
  3. Перенести ожидание в XCom: задача-сенсор пишет флаг, а остальные задачи читают его
  4. Перевести сенсоры в режим reschedule (или deferrable), чтобы не держать слот, и задать таймаутыправильный ответ

Разбор

В режиме poke сенсор держит слот воркера всё время ожидания. reschedule освобождает слот между проверками, а deferrable-операторы передают ожидание лёгкому процессу triggerer. Частый poke только увеличит нагрузку. Запуск «наудачу» приведёт к обработке пустых данных. XCom к ожиданию отношения не имеет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.