2017-12-26 15 views
1

Ich möchte meine DAG festlegen, um einen Tag nach dem anderen zu laufen. Wie kann ich das erreichen?Wie kann ich sicherstellen, dass mein DAG-Luftstrom immer nur einen Tag lang läuft?

Ich habe versucht "hängt von der Vergangenheit = True", aber es stellt nur sicher, dass jede Aufgabe nacheinander ausgeführt wird. Was ich will ist, dass, wenn ich von Tag X aus verfüge, alle Aufgaben von Tag X ausgeführt werden, bevor die DAG für Tag X + 1 starten kann und so weiter.

Antwort

0

Schauen Sie sich diese Seite: 0 0 * * *: https://airflow.apache.org/scheduler.html#dag-runs
Sie können Ihre schedule_interval mit folgendem eingerichtet.
Wenn Sie vor catchup_by_default = True mit start_date mehrere Tage eingestellt haben, wird Luftstrom zuerst, dann alle Ihre bisherigen Aufgaben verfüllen den Zeitplan auf schedule_interval

1

basierend laufen Sie max_active_runs die Anzahl der aktiven dag Läufe steuern können. Die Beschränkung auf einen sollte Ihren Anwendungsfall zufriedenstellen.

dag = airflow.DAG(
    'customer_staging', 
    schedule_interval="@daily", 
    dagrun_timeout=timedelta(minutes=60), 
    template_searchpath=tmpl_search_path, 
    default_args=args, 
    max_active_runs=1) 
Verwandte Themen