Golang Cron

Golang Cron
Crrontab o Cron in breve è un'utilità estremamente utile trovata nei sistemi operativi simili a Unix. Ti consente di programmare comandi o attività da eseguire in un momento specifico. In genere, Cron è molto utile quando si esegue attività ripetitive come backup, eliminazione di file, raccolta di registri, manutenzione automatizzata del sistema e altro ancora.

Un compito programmato, noto anche come lavoro cron utilizza formati di tempo per determinare quando eseguire. Ad esempio, puoi creare un semplice cronjob che funziona quando il sistema si riavvia.

Per saperne di più su come utilizzare l'utilità Crrontab, controlla questo tutorial. In questa guida, tuttavia, discuteremo di come possiamo implementare le attività Cron usando il linguaggio Go.

Pacchetto Golang Cron

Per creare ed eseguire le attività Cron usando Golang, dobbiamo installare e importare il pacchetto Go Cron.

Inizia creando una directory di lavoro per archiviare il tuo codice Golang.

Mkdir Crons
CD Crons

Quindi, eseguire il comando qui sotto per installare il pacchetto:

Vai a prendere github.com/robfig/cron/[email protected]

Una volta installato, crea un file GO per archiviare il codice

Toccare Main.andare

Apri il principale.Vai file con il tuo editor di testo e importa il pacchetto utilizzando la riga mostrata di seguito:

Importa "github.com/robfig/cron/v3 "

Golang crea cron oggetto

Il primo passo è creare un oggetto cron usando il cron.Nuovo () metodo. È quindi possibile utilizzare questo oggetto Gestione e pianificare le attività.

cron: = cron.Nuovo()

Quanto sopra dovrebbe restituire un nuovo corridore di lavoro cron con il fuso orario definito. Se non viene specificato alcun fuso orario, la funzione utilizzerà il fuso orario locale.

Golang Aggiungi func

Il prossimo passo è chiamare il metodo AddFunc sull'oggetto Cron. Questo ci consente di aggiungere un tempo al gestore del lavoro. La sintassi della funzione è come mostrata:

func (c *cron) addfunc (specifica stringa, cmd func ()) Errore

Prende la durata in cui verrà eseguita la funzione specificata. Puoi impostare questo valore su in qualsiasi momento.Formato parseduration (). Ad esempio, per impostare una funzione per eseguire ogni minuto, possiamo specificare il parametro come: @every 1m.

Il secondo parametro è la funzione che da eseguire.

Un codice di esempio è come mostrato di seguito:

Pacchetto principale
importazione (
"FMT"
"Github.com/robfig/cron/v3 "
)
funcmain ()
cron: = cron.Nuovo()
Cron.AddFunc ("@ogni 1m", func ()
fmt.Println ("Ciao ogni minuto!")
)

In questo esempio, definiamo una funzione che stampa "ciao ogni minuto", ogni minuto.

Il prossimo passo è avviare il Cron Scheduler. Per questo, possiamo usare il cron.Metodo start (). La funzione prenderà lo scheduler e lo eseguirà nella propria go-routine.

Cron.Inizio()
tempo.Ora di dormire.Minuto * 5)

Il codice sopra avvia il Cron Scheduler utilizzando il metodo start (). Includiamo anche il tempo.Metodo sleep () con un parametro di 5 minuti. Questo perché i metodi start () funzionano nella propria go-routine per rilevare loop. Il metodo del sonno impedisce l'uscita della routine Go.

Se eseguiamo il codice sopra, dovremmo ottenere un output come:

$ go run main.andare
Ciao ogni minuto!
Ciao ogni minuto!
Ciao ogni minuto!
.. .

Formati di espressione di Golang

È possibile utilizzare vari formati di espressione per definire un insieme di tempi e durate in base alle quali verrà eseguita un'attività.

Il pacchetto Cron supporta le seguenti espressioni:

  1. Un asterisco mostra che l'espressione corrisponde a tutti i valori del campo.
  2. Una barra in avanti descrive l'incremento degli intervalli.
  3. La virgola separa un elenco di articoli.
  4. Il trattino definisce una serie di gamme.

È inoltre possibile utilizzare i formati predefiniti come mostrato:

Chiusura

Questo è stato un tutorial introduttivo sulla creazione e pianificazione di attività usando CRON in lingua GO. Controlla i documenti per ulteriori informazioni.