Azure

Nattens import har inte fungerat på tre dagar, och ingen märker det? Så övervakar du schemalagda jobb

Orderimport, lagersynk och nattliga rapporter slutar tyst att fungera, och det märks först när en kund ringer. Så övervakar du schemalagda jobb i tid.

Vlado Pandžić

Vlado Pandžić · Grundare · Senior .NET-arkitekt
Publicerad · 6 min läsning

Ett scenario som är vanligare än någon vill erkänna: varje natt kl. 2 hämtar ett jobb nya beställningar från webbutiken och för in dem i affärssystemet. Det har fungerat i åratal och ingen tänker på det.

På tisdagen byter partnern som driver webbutiken inloggningsuppgifterna. Kl. 2 startar jobbet, webbutiken nekar det, och jobbet avslutas. Tyst.

På fredagen ringer en kund: var är mina varor? Först då tittar någon och inser att tre dagars beställningar aldrig kom in i systemet.

Varför schemalagda jobb slutar fungera i tysthet

  • De körs i bakgrunden. Ingen skärm, ingen som tittar, mitt i natten.
  • Felet hamnar i en logg som ingen läser. Någonstans på en server finns en fil där det står exakt vad som hände. Ingen öppnar den.
  • De körs från ett gammalt verktyg på en gammal server. Aktivitetsschemaläggaren i Windows på en server som ingen längre vet vem som satte upp.
  • Det lömskaste fallet: jobbet ”lyckas” men gör ingenting. Det startar, rapporterar inget fel och för över noll beställningar. Allt ser bra ut, och ingenting är bra.

Vilka jobb det handlar om

Nästan varje företag har flera sådana jobb, utan att någon har listat dem:

  • import av beställningar från webbutiken eller partnerportaler
  • synkronisering av lager och priser mellan system
  • export av data till bokföringen
  • nattliga rapporter som mejlas till ledningen
  • säkerhetskopior av databaser och dokument
  • förnyelse av certifikat och rensning av gamla data

Vart och ett av dem är i grunden det vi skrev om i artikeln om systemintegration: automatisering som ersätter manuellt arbete. Men automatisering som tyst stannar är värre än manuellt arbete, för manuellt arbete märker åtminstone någon.

En logg som ingen läser, eller en varning som kommer av sig själv

Logg på servern · ingen läser den

import-orders.log

02:00:01 Import started
02:00:03 Connecting to shop API
02:00:04 401 Unauthorized
02:00:04 Import finished

Samma sak på onsdag, torsdag och fredag.

Varning · Teams, tisdag 02.05

Orderimporten misslyckades

Webbutiken nekade åtkomst (401). Senaste lyckade import: söndag kl. 02.00, 164 beställningar.

Aviserade: försäljningschef · IT

Samma fel, två helt olika följder. Till vänster tre dagars förlorade beställningar och arga kunder. Till höger vet någon fem minuter efter felet vad som hänt, och det är åtgärdat till morgonen.

Fyra frågor som bra övervakning ställer

Det räcker inte att veta om ett jobb rapporterat ett fel. Bra övervakning kontrollerar fyra saker för varje jobb:

  1. Startade det över huvud taget? Om servern gick ner eller någon ändrade schemat finns inget fel, eftersom ingenting hände.
  2. Blev det klart utan fel?
  3. Gjorde det det som det ska? Om importen brukar föra över 120 till 180 beställningar och i dag förde över noll är något fel, även utan felmeddelande.
  4. Hur lång tid tog det? Ett jobb som förut tog två minuter och nu tar två timmar lär fallera i morgon.

Allt hamnar på en och samma skärm:

Jobb Senaste körning Resultat Status
Orderimport från webbutiken i dag 02.00 0 beställningar (brukar vara 120–180) Varning
Export till bokföringen i går 23.00 startade inte Fel
Lagersynkronisering i dag 03.00 2 412 artiklar OK
Nattlig försäljningsrapport i dag 06.00 skickad till 4 adresser OK

Så vet du att ett jobb har stannat: fyra sätt

Du behöver inte allt på en gång. Börja med det enklaste, och varje nästa steg fångar det som det föregående missar.

  1. 1Jobbet säger till när det fallerar
  2. 2Jobbet rapporterar att det lever
  3. 3Kontroll av resultatet
  4. 4Central övervakning
  1. Jobbet säger själv till när det fallerar. När ett fel uppstår skickar jobbet ett mejl eller ett meddelande i Teams med en beskrivning av vad som hände. Det är några rader kod i det befintliga jobbet. Men om jobbet aldrig startar finns det ingen som skickar meddelandet.
  2. Jobbet rapporterar att det lever. I slutet av varje lyckad körning hör jobbet av sig till en extern tjänst för övervakning av schemalagda jobb. Tjänsten vet att den väntar på ett meddelande varje natt senast kl. 2.30 och skickar själv en varning om inget kommer. Då fångas även en server som gått ner och ett ändrat schema, eftersom tjänsten väntar på ett meddelande som aldrig kom. Det finns flera sådana tjänster, med en liten månadskostnad eller gratis för ett fåtal jobb.
  3. Kontroll av resultatet. På morgonen tittar en kontroll i databasen på hur många beställningar som kom in under natten och jämför med det vanliga. Noll i stället för 150 betyder en varning, även om inget jobb rapporterade något fel. Det är det enda sättet att fånga det lömskaste fallet.
  4. Central övervakning. När jobben är många skickar alla data till ett ställe, till exempel Application Insights, som vi skrev om i artikeln om övervakning av applikationer. Där finns skärmen från tabellen ovan, med regler som: jobbet har inte slutförts utan fel på 26 timmar, det förde över noll poster, det tog tre gånger så lång tid som vanligt.
Sätt Fel Startade inte 0 poster Långsamt jobb Insats
Jobbet säger till när det fallerar ✓ – – – liten
Jobbet rapporterar att det lever ✓ ✓ – – liten
Kontroll av resultatet ✓ ✓ ✓ – liten till medel
Central övervakning ✓ ✓ ✓ ✓ medel

För de flesta företag täcker det andra och tredje sättet tillsammans nästan allt, och de går att införa på några dagar, utan att röra servrarna.

Måste jobben flyttas till Azure?

Inte nödvändigtvis. Övervakningen läggs till där jobben redan körs: på den gamla servern, i Aktivitetsschemaläggaren i Windows eller inuti applikationen. Att flytta dem till Azure Functions innebär att skriva om och testa om varje jobb, och det är inget litet arbete.

En flytt är vettig när något ändå måste ändras: när den gamla servern ska bort, till exempel för att supporten för Windows Server 2016 upphör, eller när jobbet ändå ska göras om. Då får jobb i Azure Functions övervakning nästan av sig själva, och det finns ingen server som går ner och tar jobbet med sig. Flyttar du ändå ett jobb till Azure Functions visar vår kostnadsfria cron-generator för Azure Functions exakt när det körs.

Vad du kan göra redan den här veckan

Lista alla schemalagda jobb i företaget: vad de gör, när de körs och var. Svara sedan på en fråga för vart och ett: vem får en avisering när det här jobbet misslyckas?

I de flesta företag är det vanligaste svaret ”ingen”. Det betyder att du får veta det för vart och ett av jobben när en kund ringer.

Så arbetar vi

Det här är precis vad vi gör: vi lägger till övervakning i befintliga schemalagda jobb där de körs, så att du vet direkt när ett stannar eller inte gör det det ska, och vi sätter upp varningar som når rätt person. En flytt till Azure föreslår vi bara när den lönar sig. Vi börjar med en lista över jobben och med de jobb som kostar mest när de stannar. Det första steget är ett kostnadsfritt samtal på 30 minuter.

Den här artikeln är endast allmän information och inte juridisk, skattemässig, ekonomisk eller annan professionell rådgivning. Scenarier, exempel och beräkningar är illustrativa. Användarvillkor och ansvarsfriskrivning.

Relaterade artiklar

© 2026 ProCoding — Alla rättigheter förbehållna.Företagsinformation och integritetAnvändarvillkorSplit, Kroatien