Freigeben über


Ausführen fortlaufender Aufträge

Verwenden Sie den kontinuierlichen Modus, um Workloads für die kontinuierliche Ausführung zu planen. Databricks empfiehlt die Verwendung des kontinuierlichen Modus für Always-On-Streaming-Workloads.

Der kontinuierliche Modus ersetzt die bisherigen Empfehlungen für Structured-Streaming-Workloads, Aufträge mit einer unbegrenzten Wiederholungsrichtlinie und maximal einem gleichzeitigen Lauf zu konfigurieren.

Wichtig

Serverloses Computing für Aufträge unterstützt keinen kontinuierlichen Modus.

Konfigurieren des Auftrags für die Ausführung im kontinuierlichen Modus

Gehen Sie wie folgt vor, um einen Auftrag so zu konfigurieren, dass er im kontinuierlichen Modus ausgeführt wird:

  1. Klicken Sie in der Randleiste Ihres Azure Databricks-Arbeitsbereichs auf Aufträge und Pipelines.

  2. Wählen Sie optional die Filter "Jobs " und "Owned by me" aus .

  3. Klicken Sie auf den Name-Link Ihres Jobs.

  4. Klicken Sie im Bereich "Auftragsdetails" auf "Trigger hinzufügen", wählen Sie "Fortlaufend" im Triggertyp aus.

  5. Wählen Sie optional einen Vorgangs-Wiederholungsmodus aus. Sie können auswählen, "Bei Fehler" um fehlgeschlagene Aufgaben innerhalb eines Auftrags zu wiederholen, oder "Nie" auswählen, um nur auf Auftragsebene erneut zu versuchen. Der Vorgangs-Wiederholungsmodus ist standardmäßig " Bei" für den fortlaufenden Modus aktiviert.

    Hinweis

    Für einen bereits vorhandenen Auftrag müssen Sie möglicherweise zuerst auf " Wiederholungsmodus konfigurieren" klicken und dann einen Vorgangs-Wiederholungsmodus auswählen.

  6. Klicken Sie auf Speichern.

Um einen fortlaufenden Auftrag anzuhalten, klicken Sie auf die Schaltfläche Anhalten. Klicken Sie auf Fortsetzen, um den Auftrag im kontinuierlichen Modus neu zu starten.

Hinweis

  • Zu einem gegebenen Zeitpunkt kann jeweils nur eine Instanz eines fortlaufenden Auftrags ausgeführt werden.
  • Zwischen dem Beenden einer Ausführung und dem Starten einer neuen Ausführung tritt eine Verzögerung auf. Diese Verzögerung sollte weniger als 60 Sekunden betragen.
  • Sie können bei fortlaufenden Aufträgen keine Anordnungsbeziehungen verwenden.
  • Sie können bei fortlaufenden Aufträgen keine Wiederholungsrichtlinien verwenden. Stattdessen wiederholen fortlaufende Aufträge automatisch den gesamten Auftrag bei Fehlern mithilfe eines exponentiellen Backoff-Algorithmus .
  • Darüber hinaus können Sie Wiederholungsversuche auf Vorgangsebene konfigurieren, indem Sie den Vorgangs-Wiederholungsmodus auf "Fehler" festlegen.
  • Wählen Sie Jetzt ausführen, um einen neuen Joblauf für einen angehaltenen kontinuierlichen Auftrag auszulösen.
  • Wenn Ihr fortlaufender Auftrag eine neue Konfiguration übernehmen soll, brechen Sie die vorhandene Ausführung ab. Eine neue Ausführung wird automatisch gestartet. Sie können auch auf Ausführung neu starten klicken, um den Auftrag mit der aktualisierten Konfiguration neu zu starten.

Wie werden Fehler bei fortlaufenden Aufträge behandelt?

Fehler werden mithilfe eines exponentiellen Backoffalgorithmus verwaltet.

Wenn der Vorgangs-Wiederholungsmodus auf "Ein Fehler" festgelegt ist, werden fehlgeschlagene Vorgänge mit einer exponentiell steigenden Verzögerung wiederholt, bis die maximale Anzahl zulässiger Wiederholungen erreicht ist (drei für einen einzelnen Vorgangsauftrag). Nachdem die maximalen Wiederholungsversuche erreicht wurden, wird die Ausführung abgebrochen, und eine neue Ausführung wird ausgelöst. Bei Aufträgen mit mehreren Aufgaben löst ein fehlgeschlagener Vorgang eine neue Ausführung aus, wenn keine anderen Vorgänge ausgeführt werden, oder alle anderen nicht abgeschlossenen Aufgaben befinden sich ebenfalls in einem fehlerhaften zustand oder wiederholen.

Aufeinanderfolgende Fehler auf Auftragsebene werden auch mithilfe exponentieller Backoffs verwaltet, wodurch fortlaufende Aufträge ausgeführt werden können, ohne anzuhalten. Außerdem kehren sie zu einem fehlerfreien Zustand zurück, wenn wiederherstellbare Fehler auftreten.

Wenn ein fortlaufender Auftrag den zulässigen Schwellenwert für aufeinander folgende Fehler überschreitet, werden nachfolgende Auftragsausführungen wie unten beschrieben verwaltet:

  1. Der Auftrag wird nach einem vom System festgelegten Wiederholungszeitraum neu gestartet.
  2. Wenn die nächste Auftragsausführung fehlschlägt, wird der Wiederholungszeitraum erhöht, und der Auftrag wird nach diesem neuen Wiederholungszeitraum neu gestartet.
    1. Bei jedem nachfolgenden Fehler bei der Auftragsausführung wird der Wiederholungszeitraum erhöht, bis zu einem vom System festgelegten maximalen Wiederholungszeitraum. Nach Erreichen des maximalen Wiederholungszeitraums wird der Auftrag weiterhin unter Verwendung des maximalen Wiederholungszeitraums wiederholt. Es gibt keine Beschränkung für die Anzahl der Wiederholungen für einen kontinuierlichen Auftrag.
    2. Wenn der Auftrag erfolgreich ausgeführt wird und eine neue Ausführung gestartet wird oder die Ausführung einen Schwellenwert ohne Fehler überschreitet, gilt der Auftrag als fehlerfrei, und die Backoffsequenz wird zurückgesetzt.

Sie können einen fortlaufenden Auftrag im exponentiellen Backoff-Zustand in der Auftragsbenutzeroberfläche neu starten oder die Auftrags-ID an die Run-Now-Anforderung in der Auftrags-API übergeben.