2016-05-18 18 views
6

Ho un DAG in esecuzione tutti i giorni alle 3:00, è andato bene nelle ultime settimane.Flusso d'aria: modifica del tempo di crontab per un DAG nel flusso d'aria

Ho aggiornato la data per l'esecuzione ora alle 7:00, ma a quanto pare per gli ultimi 2 giorni non è stata eseguita. Riesco a vedere i compiti per quei due giorni con lo stato 'in esecuzione' (in verde), ma nessun comando viene attivato.

Si deve fare qualcosa in più per cambiare il tempo di esecuzione di un DAG?

So che in passato un modo per risolvere questo problema era ripulire nel metadatabase le attività per questo DAG e aggiornare lo start_date, ma preferirei evitare di farlo di nuovo.

Qualcuno ha un suggerimento?

risposta

5

David,

Per pianificare un dag flusso d'aria sembra proprio per l'ultima execution date e somma il schedule interval. Se questa volta è scaduto, eseguirà il dag. Non è possibile aggiornare semplicemente la data di inizio. Un modo semplice per farlo è modificare il tuo start date e schedule interval, rinominare il tuo dag (ad es. Xxxx_v2.py) e ridistribuirlo.

+0

Il riavvio dello scheduler non risolverà il problema? –

+0

C'è una discussione più ampia sulla necessità di rinominare i DAG al fine di riflettere i metadati aggiornati? In tal caso, qualcuno può collegarsi ad esso per favore? – harveyxia

+0

Non sono riuscito a trovare la discussione ma è menzionato nelle insidie ​​ https://cwiki.apache.org/confluence/display/AIRFLOW/Common+Pitfalls – liferacer

2

Una soluzione alternativa alla ridenominazione del DAG è la modifica di execution_date di tutte le istanze di attività precedenti e le esecuzioni DAG del DAG nel database. Le tabelle da modificare sono rispettivamente task_instance e dag_run.

Uno degli aspetti negativi di questo approccio è la perdita della possibilità di sfogliare i registri delle attività completate tramite il server web.

Problemi correlati