Dela via


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 enkelt schema för att köra jobbet regelbundet eller ett avancerat schema som använder cron för att definiera specifika tider för ett periodiskt schema. Med ett avancerat schema kan du också välja en tidszon för ditt schema. Du kan 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

Den schemalagda utlösartypen har två alternativ:

  • Definiera ett grundläggande schema för att köra ett jobb regelbundet baserat på en angiven tidsenhet och ett visst intervall. Schemalägg till exempel ett jobb så att det körs var 12:e timme.
  • Definiera ett avancerat schema som ger mer kontroll över perioden, tiden och tidszonen för att köra jobbet.

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. I panelen Jobbinformation klickar du på Lägg till utlösare.
  4. I Utlösartyp väljer du Schemalagd.
  5. I Schematyp väljer du Enkel eller Avancerad.
    1. Enkelt: Ange ett intervall och en tidsenhet för att köra jobbet.
    2. Avancerat: Ange period, starttid och tidszon. Du kan också markera kryssrutan Visa Cron-syntax för att visa och redigera schemat i Quartz Cron-syntax.
  6. 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.