Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про CI/CD: polling, poke

Как работает механизм polling в сенсорах?

Вопрос проверяет понимание того, как сенсоры проверяют условия и почему это может быть дорого с точки зрения ресурсов.

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

Polling — это периодическая проверка условия через заданный интервал времени. Сенсор «просыпается», проверяет условие и, если оно не выполнено, снова засыпает. Интервал задаётся параметром poke_interval. Такой подход прост, но может потреблять ресурсы, если сенсоров много. Поэтому polling нужно использовать аккуратно.

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

Polling — базовый механизм работы классических сенсоров в Airflow. Он прост в реализации, но имеет свои ограничения.

Определение

Polling — это регулярная проверка состояния внешнего ресурса через фиксированные интервалы времени.

1. Жизненный цикл сенсора

Работа сенсора выглядит так:

  1. Сенсор запускается.

  2. Проверяет условие (poke).

  3. Если условие ложно — ждёт poke_interval.

  4. Повторяет шаги до успеха или таймаута.

Пример логики:

while not condition():
    sleep(poke_interval)

2. Ключевые параметры polling

Основные настройки сенсора:

2.1. poke_interval

  • интервал между проверками;

  • слишком маленький → высокая нагрузка;

  • слишком большой → высокая задержка.

2.2. timeout

  • максимальное время ожидания;

  • по истечении сенсор падает с ошибкой.

3. Режимы выполнения

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

  • занимают worker на всё время ожидания;

  • блокируют слот executor-а.

Это основной источник проблем при масштабировании.

4. Почему polling дорог

Если:

  • много DAG;

  • много сенсоров;

  • длинные таймауты.

То:

  • воркеры простаивают;

  • задачи ждут своей очереди;

  • падает общая пропускная способность.

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

Polling — простой и понятный механизм ожидания, но он плохо масштабируется. Его стоит использовать только для коротких и редких ожиданий или заменять deferrable-сенсорами.

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • CI/CD

    CI/CD

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

#polling

#poke

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

  • Аватар

    Python Guru

    Sergey Filichkin

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