Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про CI/CD: deferrable, sensor

Чем отличаются обычные сенсоры от deferrable-сенсоров?

Вопрос проверяет знание современных возможностей Airflow и умение оптимизировать использование ресурсов.

Короткий ответ

Обычные сенсоры постоянно занимают worker во время ожидания. Deferrable-сенсоры освобождают worker и «засыпают» до наступления события. Они используют асинхронную модель ожидания. Это позволяет существенно снизить нагрузку на систему. Deferrable-сенсоры лучше подходят для долгих ожиданий.

Длинный ответ

Deferrable-сенсоры появились как решение проблемы блокировки ресурсов при долгом ожидании внешних условий.

Определение

Deferrable sensor — это сенсор, который использует асинхронный механизм ожидания и не блокирует worker.

1. Обычные сенсоры (blocking)

Классический сенсор:

  • запускается на worker-е;

  • выполняет polling;

  • «спит» между проверками;

  • удерживает слот executor-а.

Проблема:

  • worker занят, хотя полезной работы нет.

2. Deferrable-сенсоры

Deferrable-сенсор:

  • выполняет первую проверку;

  • если условие не выполнено, деферрится;

  • освобождает worker;

  • возобновляется при наступлении события или по таймеру.

Для этого используется:

  • triggerer-процесс;

  • асинхронные триггеры.

3. Triggerer и события

Triggerer:

  • отдельный компонент Airflow;

  • отслеживает события асинхронно;

  • «будит» задачу, когда условие выполнено.

Это позволяет:

  • держать тысячи ожидающих сенсоров;

  • не увеличивать число worker-ов.

4. Когда использовать deferrable-сенсоры

Они особенно полезны:

  • при ожидании внешних API;

  • при долгих таймаутах;

  • в больших инсталляциях Airflow.

Ограничение:

  • не все сенсоры имеют deferrable-версию;

  • сложнее отлаживать.

5. Практические рекомендации

  • используйте deferrable-сенсоры для ожиданий > нескольких минут;

  • проверяйте, поддерживает ли оператор deferrable-режим;

  • следите за нагрузкой triggerer-а.

6. Краткий вывод

Deferrable-сенсоры решают ключевую проблему классических сенсоров — блокировку ресурсов. Для современных продакшен-систем это предпочтительный вариант при длительном ожидании условий.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    8

Навыки

  • CI/CD

    CI/CD

Ключевые слова

#deferrable

#sensor

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.