2016-05-18 12 views
6

Her gün saat 3: 00'te çalışmakta olan bir DAG var, son birkaç hafta boyunca Tamam.Hava akışı: Airflow'ta bir DAG için crontab süresini değiştirme

Bugün saat 7: 00'de çalışacak tarihi güncelledim, ancak son 2 gün boyunca çalışmadığı görüldü. Bu iki güne ait görevleri 'koşma' durumuyla (yeşil olarak) görebilirim, ancak hiçbir komut tetiklenmez.

DAG'ın çalışma zamanını değiştirmek için daha fazla şey yapması gerekiyor mu?

Bunu çözmenin bir yolunun meta-veritabanında bu DAG'ın görevlerini temizlemesini ve start_date'i güncellemeyi bildiğimi biliyorum, ancak bunu tekrar yapmaktan kaçınmayı tercih ediyorum.

Herkesin bir öneri var mı?

cevap

5

David

bir dag Hava akımı geçen execution date arar planlamak ve schedule interval toplanacak. Bu süre dolduysa, dag'ı çalıştıracaktır. Başlangıç ​​tarihini basitçe güncelleyemezsiniz. Bunu yapmanın basit bir yolu start date ve schedule interval'unuzu düzenleyebilir, dag'ınızı (ör. Xxxx_v2.py) yeniden adlandırıp yeniden dağıtın.

+0

Zamanlayıcının yeniden başlatılması sorunu çözmüyor mu? –

+0

Güncellenen meta verileri yansıtmak için DAG'leri yeniden adlandırma gereği hakkında daha geniş bir tartışma var mı? Eğer öyleyse, lütfen ona bağlantı kurabilir misiniz? – harveyxia

+0

Tartışmayı bulamadım ama tuzaklarda belirtiliyor https://cwiki.apache.org/confluence/display/AIRFLOW/Common+Pitfalls – liferacer

2

DAG'yi yeniden adlandırmak için alternatif bir çözüm, tüm önceki görev örneklerinin execution_date'unu ve DAG'nin veritabanındaki DAG çalışmalarını düzenlemek. Değiştirilecek tablolar sırasıyla task_instance ve dag_run'dur.

Bu yaklaşımın olumsuz yönlerinden biri, tamamlanmış görevlerin günlüklerini web sunucusu aracılığıyla tarama yeteneğini kaybedersiniz.

İlgili konular