Skip to content

ADR-0002 — PinkyTaskSensor uses mode='reschedule'

Status: accepted Date: 2026-05-31

Context

Airflow sensors can run in two modes: poke (keeps a worker slot occupied between polls) or reschedule (releases the worker slot, reschedules after poke_interval). Snowflake Task graphs can run for minutes to hours. A poke-mode sensor would hold an Airflow worker for the entire duration.

Decision

SnowflakeTaskSensor always initializes with mode='reschedule' and poke_interval=30. This is set in __init__ — not overridable by the caller without subclassing.

Consequences

Airflow workers are not blocked during long Task graph runs. Many sensors can coexist without exhausting the worker pool. The 30s interval is a safe default for Snowflake Task graphs — configurable via the poke_interval parameter.