En planlagt oppgave, også kjent som en Cron -jobb, bruker veldig tidsformater for å bestemme når du skal løpe. For eksempel kan du lage en enkel cronjob som kjører når systemet starter på nytt.
For å lære mer om hvordan du bruker Crontab -verktøyet, sjekk denne opplæringen. I denne guiden vil vi imidlertid diskutere hvordan vi kan implementere Cron -oppgaver ved hjelp av GO -språket.
Golang Cron -pakke
For å opprette og kjøre CRON -oppgaver ved hjelp av Golang, må vi installere og importere Go Cron -pakken.
Begynn med å opprette en fungerende katalog for å lagre Golang -koden din.
Mkdir CronsKjør deretter kommandoen nedenfor for å installere pakken:
Gå GitHub.com/robfig/cron/[email protected]Når du er installert, oppretter du en GO -fil for å lagre koden
berør Main.gåÅpne hoveden.Gå fil med tekstredigereren din og importer pakken ved å bruke linjen vist nedenfor:
Importer "github.com/robfig/cron/v3 "Golang Lag Cron -objekt
Det første trinnet er å lage et Cron -objekt ved hjelp av Cron.Ny () -metode. Du kan deretter bruke dette objektet administrere og planlegge oppgaver.
Cron: = Cron.Ny()Ovennevnte skal returnere en ny Cron Job Runner med den definerte tidssonen. Hvis ingen tidssone er spesifisert, vil funksjonen bruke den lokale tidssonen.
Golang legger til func
Neste trinn er å ringe AddFunc -metoden på Cron -objektet. Dette lar oss legge til en tid til jobbsjefen. Funksjonssyntaksen er som vist:
func (c *cron) addFunc (Spec String, cmd func ()) feilDet tar varigheten som den spesifiserte funksjonen kjøres. Du kan sette denne verdien til når som helst.Parseduration () Format. For å angi en funksjon for å kjøre hvert minutt, kan vi for eksempel spesifisere parameteren som: @Aly 1m.
Den andre parameteren er funksjonen som skal utføres.
Et eksempelkode er som vist nedenfor:
pakkehovedI dette eksemplet definerer vi en funksjon som skriver ut “Hei hvert minutt”, hvert minutt.
Neste trinn er å starte Cron Scheduler. For dette kan vi bruke Cron.Start () Metode. Funksjonen vil ta planleggeren og kjøre den i sin egen rutine.
Cron.Start()Ovennevnte kode starter CRON -planleggeren ved hjelp av start () -metoden. Vi inkluderer også tiden.Sleep () Metode med en parameter på 5 minutter. Dette er fordi start () -metodene kjører i sin egen rutine for sløyfedeteksjon. Søvnmetoden forhindrer at GO -rutinen kommer ut.
Hvis vi kjører ovennevnte kode, bør vi få en utdata som:
$ go run main.gåGolang -uttrykksformater
Du kan bruke forskjellige ekspresjonsformater for å definere et sett med tider og varigheter som en oppgave vil kjøre.
Cron -pakken støtter følgende uttrykk:
Du kan også bruke de forhåndsdefinerte formatene som vist:
Lukking
Dette var en introduksjonsopplæring om å lage og planlegge oppgaver ved hjelp av Cron på GO -språket. Sjekk dokumentene for mer.