Golang Cron

Golang Cron
Crontab lub Cron w skrócie jest niezwykle przydatnym narzędziem występującym w systemach operacyjnych podobnych do UNIX. Umożliwia planowanie poleceń lub zadań w określonym czasie. Zazwyczaj Cron jest bardzo przydatny podczas wykonywania powtarzających się zadań, takich jak kopie zapasowe, usuwanie plików, zbieranie dzienników, automatyczne konserwacja systemu i inne.

Zaplanowane zadanie, znane również jako zadanie CRON, używa formatów bardzo czasowych, aby ustalić, kiedy uruchomić. Na przykład możesz utworzyć prosty cronjob, który działa, gdy system się uruchamia.

Aby dowiedzieć się więcej o tym, jak korzystać z narzędzia Crontab, sprawdź ten samouczek. W tym przewodniku omówimy jednak, w jaki sposób możemy wdrożyć zadania CRON za pomocą języka Go.

Pakiet Golang Cron

Aby utworzyć i uruchomić zadania CRON za pomocą Golang, musimy zainstalować i zaimportować pakiet Go Cron.

Zacznij od utworzenia działającego katalogu do przechowywania kodu Golang.

Mkdir Crons
Crony CD

Następnie uruchom poniższe polecenie, aby zainstalować pakiet:

Idź zdobyć github.com/robfig/cron/[email protected]

Po zainstalowaniu utwórz plik GO, aby przechowywać kod

dotknij głównego.Iść

Otwórz główną.Plik idź do edytora tekstu i zaimportuj pakiet za pomocą linii pokazanej poniżej:

Importuj ”github.com/robfig/cron/v3 "

Golang Utwórz obiekt CRON

Pierwszym krokiem jest utworzenie obiektu Cron za pomocą Cron.Nowa () metoda. Następnie możesz użyć tego obiektu zarządzaj i planuj zadania.

cron: = cron.Nowy()

Powyższe powinno zwrócić nowego biegacza Cron z zdefiniowaną strefą czasową. Jeśli nie zostanie określona strefa czasowa, funkcja użyje lokalnej strefy czasowej.

Golang dodaje FUNC

Następnym krokiem jest wywołanie metody AddFunc na obiekcie CRON. To pozwala nam dodać czas do menedżera pracy. Składnia funkcji jest jak pokazana:

FUNC (c *cron) addFunc (Spec String, CMD FUNC ()) Błąd

Zajmuje czas, w którym uruchomi się określona funkcja. Możesz ustawić tę wartość w dowolnym momencie.Format parseduration (). Na przykład, aby ustawić funkcję, aby uruchomić każdą minutę, możemy określić parametr jako: @Every 1M.

Drugi parametr to funkcja do wykonania.

Przykładowy kod jest pokazany poniżej:

Pakiet Main
import (
„FMT”
„Github.com/robfig/cron/v3 "
)
funcMain ()
cron: = cron.Nowy()
Cron.Addfunc („@co 1m”, func ()
fmt.Println („Cześć co minutę!")
)

W tym przykładzie definiujemy funkcję, która drukuje „cześć co minutę”, co minutę.

Następnym krokiem jest uruchomienie harmonogramu CRON. W tym celu możemy użyć Cron.Metoda start (). Funkcja zabierze harmonogram i uruchomić ją we własnej rutinie.

Cron.Początek()
czas.Czas na spanie.Minute * 5)

Powyższy kod uruchamia harmonogram CRON za pomocą metody start (). Uwzględniamy również czas.Metoda sleep () z parametrem 5 minut. Wynika to z faktu, że metody start () działają we własnym zerutinie do wykrywania pętli. Metoda snu uniemożliwia wyjście rutyny GO.

Jeśli uruchomimy powyższy kod, powinniśmy uzyskać dane wyjściowe jako:

$ Go Run Main.Iść
Cześć każda minuta!
Cześć każda minuta!
Cześć każda minuta!
… .

Formaty ekspresji Golanga

Możesz użyć różnych formatów ekspresji, aby zdefiniować zestaw czasów i czasów trwania, na podstawie których będzie działać zadanie.

Pakiet CRON obsługuje następujące wyrażenia:

  1. Asterisk pokazuje, że wyrażenie pasuje do wszystkich wartości pola.
  2. Slash do przodu opisuje przyrost zakresów.
  3. Przecinek oddziela listę elementów.
  4. Hyphen definiuje zestaw zakresów.

Możesz także użyć wstępnie zdefiniowanych formatów, jak pokazano:

Zamknięcie

To był wprowadzający samouczek dotyczący tworzenia i planowania zadań za pomocą Cron w języku Go. Sprawdź więcej dokumentów.