การสร้าง Data Pipeline ด้วย Airflow
Volker Janz
Senior Developer Advocate at Astronomer

Poke mode (ค่าเริ่มต้น)
from airflow.providers.standard.sensors.filesystem \
import FileSensor
wait = FileSensor(
task_id="wait",
filepath="/data/report.csv",
mode="poke",
poke_interval=30,
)
Reschedule mode
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 ยังคงมีผล| Mode | เหมาะสำหรับ | Worker slot |
|---|---|---|
| poke | รอเวลาสั้น (< 1 นาที) | ถือครองตลอดเวลา |
| reschedule | รอปานกลาง ไม่มี Triggerer | คืนระหว่างตรวจสอบ |
| deferrable | รอนาน, sensor จำนวนมาก | ไม่ใช้เลย |
AIRFLOW__OPERATORS__DEFAULT_DEFERRABLE=True
deferrable=Falseการสร้าง Data Pipeline ด้วย Airflow