Airflow によるデータパイプラインの構築
Volker Janz
Senior Developer Advocate at Astronomer

Poke モード(デフォルト)
from airflow.providers.standard.sensors.filesystem \
import FileSensor
wait = FileSensor(
task_id="wait",
filepath="/data/report.csv",
mode="poke",
poke_interval=30,
)
Reschedule モード
from airflow.providers.standard.sensors.filesystem \
import FileSensor
wait = FileSensor(
task_id="wait",
filepath="/data/report.csv",
mode="reschedule",
poke_interval=300,
)

from airflow.providers.standard.sensors.filesystem import FileSensor wait_for_data = FileSensor( task_id="wait_for_data", filepath="/data/incoming/report.csv",deferrable=True,poke_interval=30, timeout=3600, )
poke_interval と timeout は引き続き適用されます| モード | 適した用途 | ワーカースロット |
|---|---|---|
| poke | 短い待機(1 分未満) | 常に占有 |
| reschedule | 中程度の待機、Triggerer 不使用時 | チェック間に解放 |
| deferrable | 長い待機、センサー多数 | 使用しない |
AIRFLOW__OPERATORS__DEFAULT_DEFERRABLE=True
deferrable=False で上書きできますAirflow によるデータパイプラインの構築