Köra jobb enligt ett schema eller kontinuerligt

Du kan köra ditt Azure Databricks-jobb regelbundet med typen Schemalagd utlösare eller se till att det alltid finns en aktiv körning av jobbet med typen Kontinuerlig utlösare.

Du kan använda ett schema för att automatiskt köra ditt Azure Databricks-jobb vid angivna tider och perioder. Du kan definiera ett schema för att köra jobbet på minut-, tim-, vecko-, vecko- eller månadsperioder och vid angivna tider. Du kan också ange en tidszon för ditt schema och pausa ett schemalagt jobb när som helst.

När du kör jobbet med den kontinuerliga utlösaren ser Azure Databricks Jobs till att det alltid finns en aktiv körning av jobbet. En ny jobbkörning startar när den föregående körningen har slutförts eller med statusen misslyckad, eller om det inte finns någon instans av jobbet som körs för närvarande.

Lägga till ett jobbschema

Så här definierar du ett schema för jobbet:

  1. I sidofältet klickar du på Arbetsflöden.
  2. Klicka på jobbnamnet i kolumnen Namnfliken Jobb.
  3. Klicka på Lägg till utlösare i panelen Jobbinformation och välj Schemalagd i Utlösartyp.
  4. Ange period, starttid och tidszon. Du kan också markera kryssrutan Visa Cron-syntax för att visa och redigera schemat i Quartz Cron-syntax.
  5. Klicka på Spara.

Du kan också schemalägga ett notebook-jobb direkt i notebook-användargränssnittet.

Kommentar

  • Azure Databricks tillämpar ett minsta intervall på 10 sekunder mellan efterföljande körningar som utlöses av schemat för ett jobb oavsett sekundkonfigurationen i cron-uttrycket.
  • Du kan välja en tidszon som observerar sommartid eller UTC. Om du väljer en tidszon som observerar sommartid hoppas ett timjobb över eller verkar vara fördröjt med en timme eller två när sommartiden börjar eller slutar. Om du vill köra varje timme (absolut tid) väljer du UTC.
  • Jobbschemaläggaren är inte avsedd för jobb med låg svarstid. På grund av problem med nätverk eller moln kan jobbkörningar ibland fördröjas upp till flera minuter. I dessa situationer körs schemalagda jobb omedelbart när tjänsten är tillgänglig.

Pausa och återuppta ett jobbschema

Om du vill pausa ett jobb klickar du på Pausa i panelen Jobbinformation .

Om du vill återuppta ett pausat jobbschema klickar du på Återuppta.

Köra ett kontinuerligt jobb

  1. I sidofältet klickar du på Arbetsflöden.
  2. Klicka på jobbnamnet i kolumnen Namnfliken Jobb.
  3. Klicka på Lägg till utlösare i panelen Jobbinformation , klicka på Lägg till utlösare i panelen Jobbinformation , välj Kontinuerlig i utlösartyp och klicka på Spara.

Om du vill stoppa ett kontinuerligt jobb klickar du Blue Down Caret bredvid Kör nu och klickar på Stoppa.

Kommentar

  • Det kan bara finnas en instans som körs av ett kontinuerligt jobb.
  • Det finns en liten fördröjning mellan en körningsavslutning och en ny körning som startar. Den här fördröjningen bör vara mindre än 60 sekunder.
  • Du kan inte använda aktivitetsberoenden med ett kontinuerligt jobb.
  • Du kan inte använda återförsöksprinciper med ett kontinuerligt jobb. I stället använder kontinuerliga jobb exponentiell backoff för att hantera jobbkörningsfel.
  • Om du väljer Kör nu på ett kontinuerligt jobb som har pausats utlöses en ny jobbkörning. Om jobbet inte pausas genereras ett undantag.
  • Om du vill att ditt kontinuerliga jobb ska hämta en ny jobbkonfiguration avbryter du den befintliga körningen och sedan startar en ny körning automatiskt. Du kan också klicka på Starta om körning för att starta om jobbkörningen med den uppdaterade konfigurationen.

Hur hanteras fel för kontinuerliga jobb?

Azure Databricks-jobb använder ett exponentiellt backoff-schema för att hantera kontinuerliga jobb med flera på varandra följande fel. Exponentiell backoff gör att kontinuerliga jobb kan köras utan att pausas och återgå till ett felfritt tillstånd när återställningsbara fel inträffar.

När ett kontinuerligt jobb överskrider det tillåtna tröskelvärdet för efterföljande fel beskriver följande hur efterföljande jobbkörningar hanteras:

  1. Jobbet startas om efter en återförsöksperiod som angetts av systemet.
  2. Om nästa jobbkörning misslyckas ökas återförsöksperioden och jobbet startas om efter den nya återförsöksperioden.
    1. För varje efterföljande jobbkörningsfel ökas återförsöksperioden igen, upp till en maximal återförsöksperiod som anges av systemet. När du har nått den maximala återförsöksperioden fortsätter jobbet att försöka igen med den maximala återförsöksperioden. Det finns ingen gräns för antalet återförsök för ett kontinuerligt jobb.
    2. Om jobbkörningen har slutförts och startar en ny körning, eller om körningen överskrider ett tröskelvärde utan fel, anses jobbet vara felfritt och backoff-sekvensen återställs.

Du kan starta om ett kontinuerligt jobb i exponentiellt backoff-tillstånd i jobbgränssnittet eller genom att skicka jobb-ID:t till BEGÄRAN POST /api/2.1/jobs/run-now i API:et Jobb 2.1 eller POST /api/2.0/jobs/run-now i API:et Jobb 2.0.