Golang Cron

Golang Cron
Crontab ou Cron para curta é uma utilidade extremamente útil encontrada em sistemas operacionais semelhantes a Unix. Ele permite que você agende comandos ou tarefas para executar em um horário específico. Normalmente, Cron é muito útil ao executar tarefas repetitivas, como backups, excluir arquivos, coletar logs, manutenção automatizada do sistema e muito mais.

Uma tarefa programada, também conhecida como um trabalho de cron usa formatos de tempo para determinar quando executar. Por exemplo, você pode criar um cronjob simples que é executado quando o sistema reinicia.

Para saber mais sobre como usar o utilitário Crontab, verifique este tutorial. Neste guia, no entanto, discutiremos como podemos implementar tarefas CRON usando o idioma go.

Pacote de Golang Cron

Para criar e executar tarefas Cron usando o Golang, precisamos instalar e importar o pacote Go Cron.

Comece criando um diretório de trabalho para armazenar seu código de Golang.

Mkdir Crons
CD Crons

Em seguida, execute o comando abaixo para instalar o pacote:

Vá buscar o Github.com/robfig/cron/[email protected]

Depois de instalado, crie um arquivo go para armazenar seu código

Toque em Main.ir

Abra o principal.Vá arquivo com seu editor de texto e importe o pacote usando a linha mostrada abaixo:

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

Golang Create Cron Object

O primeiro passo é criar um objeto Cron usando o Cron.Método novo (). Você pode usar este objeto Gerenciar e agendar tarefas.

Cron: = Cron.Novo()

O exposto acima deve devolver um novo corredor de trabalho Cron com o fuso horário definido. Se nenhum fuso horário for especificado, a função usará o fuso horário local.

Golang Add Func

O próximo passo é chamar o método addfunc no objeto Cron. Isso nos permite adicionar um tempo ao gerente de emprego. A sintaxe da função é como mostrado:

func (c *cron) addfunc (string spec, cmd func ()) erro

Ele leva a duração sob a qual a função especificada será executada. Você pode definir esse valor para qualquer momento.Parseduração () formato. Por exemplo, para definir uma função para executar a cada minuto, podemos especificar o parâmetro como: @every 1m.

O segundo parâmetro é a função que executar.

Um código de exemplo é como mostrado abaixo:

Pacote principal
importação (
"FMT"
"Github.com/robfig/cron/v3 "
)
funcmain ()
Cron: = Cron.Novo()
Cron.Addfunc ("@Every 1m", func ()
fmt.Println ("oi a cada minuto!")
)

Neste exemplo, definimos uma função que imprime “oi a cada minuto”, a cada minuto.

O próximo passo é iniciar o cronograma Cron. Para isso, podemos usar o Cron.Método Start (). A função levará o agendador e o executará em sua própria rotação.

Cron.Começar()
tempo.Hora de dormir.Minuto * 5)

O código acima inicia o crono. Também incluímos o tempo.Sleep () Método com um parâmetro de 5 minutos. Isso ocorre porque os métodos iniciantes () são executados em sua própria rotina para detecção de loop. O método do sono impede a saída da rotina de Go.

Se executarmos o código acima, devemos obter uma saída como:

$ go run main.ir
Oi a cada minuto!
Oi a cada minuto!
Oi a cada minuto!
.. .

Formatos de expressão de Golang

Você pode usar vários formatos de expressão para definir um conjunto de vezes e durações sob as quais uma tarefa será executada.

O pacote CRON suporta as seguintes expressões:

  1. Um asterisco mostra a expressão corresponde a todos os valores do campo.
  2. Uma barra para frente descreve o incremento de faixas.
  3. Vírgula separa uma lista de itens.
  4. Hífen define um conjunto de faixas.

Você também pode usar os formatos predefinidos como mostrado:

Fechamento

Este foi um tutorial introdutório sobre a criação e agendamento de tarefas usando o idioma cron no Go. Verifique os documentos para mais.