Bagaimana saya bisa menghentikan/membunuh tugas yang sedang berjalan di Airflow UI? Saya menggunakan LocalExecutor
.
Bahkan jika saya menggunakan CeleryExecutor
, bagaimana saya bisa membunuh/menghentikan tugas yang sedang berjalan?
Pada layar DAGs, anda bisa melihat tugas-tugas yang sedang berjalan:
Pada 'Recent Tasks' tekan ikon running dan Airflow akan secara otomatis menjalankan permintaan pencarian dengan filter untuk Dag Id dan State sama dengan 'running' dan menampilkan hasilnya pada layar Task Instances (Anda dapat menemukannya secara manual pada tab Browse > Task Instances).
Di sana anda dapat memilih tugas yang disajikan dan mengaturnya ke state lain atau menghapusnya.
Harap perhatikan bahwa jika DAG sedang berjalan, penjadwal Airflow akan memulai lagi tugas-tugas yang anda hapus. Jadi, hentikan DAG terlebih dahulu dengan mengubah statusnya atau hentikan penjadwal (jika Anda berjalan di lingkungan pengujian).
dari aliran udara gitter (@villasv)
Tidak secara anggun, tidak. Anda dapat menghentikan dag (hapus tanda sebagai berjalan) dan menghapus status tugas atau bahkan menghapusnya di UI. Tugas yang sebenarnya berjalan di eksekutor tidak akan berhenti, tetapi mungkin akan dibunuh jika eksekutor menyadari bahwa tugas tersebut tidak ada di database lagi.
Seperti yang disebutkan oleh Pablo dan Jorge, menjeda Dag tidak akan menghentikan tugas yang sedang dijalankan jika eksekusi sudah dimulai. Namun ada cara untuk menghentikan tugas yang sedang berjalan dari UI, tetapi agak sulit.
Ketika tugas berada pada status running
Anda dapat mengklik CLEAR
ini akan memanggil job.kill()
tugas akan disetel ke shut_down
dan dipindahkan ke up_for_retry
dengan segera sehingga tugas tersebut dihentikan.
Jelas Airflow tidak bermaksud bagi Anda untuk menghapus tugas dalam keadaan Running
namun karena Airflow tidak menonaktifkannya, Anda dapat menggunakannya seperti yang saya sarankan. Airflow bermaksud CLEAR
untuk digunakan dengan failed
, up_for_retry
dll... Mungkin di masa depan komunitas akan menggunakan bug ini (?) dan mengimplementasikannya sebagai fungsi dengan tombol "shut down task".