Выбор ответа Middle ETL, ELT и Airflow обновлено
Режим сенсора
Вопрос
Десятки сенсоров ждут файлов партнёров по несколько часов, и остальные задачи перестали запускаться. Что поменять?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Перевести сенсоры в режим reschedule (или deferrable), чтобы не держать слот, и задать таймауты. В режиме poke сенсор держит слот воркера всё время ожидания. reschedule освобождает слот между проверками, а deferrable-операторы передают ожидание лёгкому процессу triggerer.
Варианты ответа
- Уменьшить
poke_intervalдо 1 секунды, чтобы сенсоры быстрее находили файлы и освобождали слоты - Удалить сенсоры и запускать задачи по расписанию с запасом, рассчитывая, что файл уже появится
- Перенести ожидание в XCom: задача-сенсор пишет флаг, а остальные задачи читают его
- Перевести сенсоры в режим
reschedule(или deferrable), чтобы не держать слот, и задать таймаутыправильный ответ
Разбор
В режиме poke сенсор держит слот воркера всё время ожидания. reschedule освобождает слот между проверками, а deferrable-операторы передают ожидание лёгкому процессу triggerer. Частый poke только увеличит нагрузку. Запуск «наудачу» приведёт к обработке пустых данных. XCom к ожиданию отношения не имеет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Код-ревью: DAG ежедневной выгрузки заказов
Следующий вопрос
Как устроить DAG ежедневной загрузки