Cara membuat bersyarat tugas dalam aliran Udara
Saya ingin membuat sebuah bersyarat tugas di aliran Udara seperti dijelaskan dalam skema di bawah ini. Skenario yang diharapkan adalah sebagai berikut:
- Tugas 1 mengeksekusi
- Jika Tugas 1 berhasil, kemudian jalankan Tugas 2a
- Lain Jika Tugas 1 gagal, maka melaksanakan Tugas 2b
- Akhirnya mengeksekusi Tugas 3
Semua tugas di atas adalah SSHExecuteOperator. I'm menebak saya harus menggunakan ShortCircuitOperator dan / atau XCom untuk mengelola kondisi ini, tapi saya tidak jelas tentang bagaimana untuk melaksanakan itu. Bisa anda jelaskan solusinya?
43
2
Aliran udara yang memiliki BranchPythonOperator yang dapat digunakan untuk menyatakan percabangan ketergantungan yang lebih langsung.
The docs menjelaskan penggunaannya:
Contoh Kode
EDIT:
Jika anda're memasang aliran Udara versi >=1.10.3, anda juga dapat kembali daftar tugas id, yang memungkinkan anda untuk melewatkan beberapa hilir jalan di satu Operator dan don't menggunakan dummy tugas sebelum bergabung.
Anda harus menggunakan aliran udara yang memicu aturan
Semua operator memiliki trigger_rule argumen yang mendefinisikan aturan yang dihasilkan tugas terpicu.
Pemicu aturan kemungkinan:
Berikut ini adalah ide untuk memecahkan masalah anda: