Golang Cron

Golang Cron
Crontab o cron para abreviar es una utilidad extremadamente útil que se encuentra en sistemas operativos similares a unix. Le permite programar comandos o tareas para ejecutarse en un momento específico. Por lo general, CRON es muy útil al realizar tareas repetitivas, como copias de seguridad, eliminar archivos, recopilar registros, mantenimiento automatizado del sistema y más.

Una tarea programada, también conocida como un trabajo cron, utiliza formatos de tiempo para determinar cuándo ejecutarse. Por ejemplo, puede crear un cronjob simple que se ejecuta cuando se reinicia el sistema.

Para obtener más información sobre cómo usar la utilidad de Crontab, consulte este tutorial. En esta guía, sin embargo, discutiremos cómo podemos implementar tareas cron utilizando el idioma GO.

Paquete Golang Cron

Para crear y ejecutar tareas cron usando Golang, necesitamos instalar e importar el paquete Go Cron.

Comience creando un directorio de trabajo para almacenar su código Golang.

mkdir crons
crons de CD

A continuación, ejecute el comando a continuación para instalar el paquete:

Ve a buscar Github.com/robfig/cron/[email protected]

Una vez instalado, cree un archivo GO para almacenar su código

toque.ir

Abra la principal.Vaya a archivo con su editor de texto e importe el paquete utilizando la línea que se muestra a continuación:

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

Golang crear objeto cron

El primer paso es crear un objeto cron usando el cron.Nuevo método. Luego puede usar este objeto administrar y programar tareas.

cron: = cron.Nuevo()

Lo anterior debe devolver un nuevo corredor de trabajo de Cron con la zona horaria definida. Si no se especifica una zona horaria, la función utilizará la zona horaria local.

Golang Agregar func

El siguiente paso es llamar al método addFunc en el objeto cron. Esto nos permite agregar un tiempo al gerente de trabajo. La sintaxis de la función es como se muestra:

Error de func (c *cron) addfunc (spec string, cmd func ())

Toma la duración bajo la cual se ejecutará la función especificada. Puede establecer este valor en cualquier momento.Formato de parseduration (). Por ejemplo, para establecer una función para ejecutar cada minuto, podemos especificar el parámetro como: @every 1m.

El segundo parámetro es la función que ejecutar.

Un código de ejemplo es como se muestra a continuación:

paquete principal
importar (
"FMT"
"Github.com/robfig/cron/v3 "
)
funcmain ()
cron: = cron.Nuevo()
cron.AddFunc ("@cada 1m", func ()
fmt.Println ("Hola cada minuto!")
)

En este ejemplo, definimos una función que imprime "hola cada minuto", cada minuto.

El siguiente paso es iniciar el cron programador. Para esto, podemos usar el cron.Método start (). La función tomará el planificador y lo ejecutará en su propio Go-Routine.

cron.Comenzar()
tiempo.Hora de dormir.Minuto * 5)

El código anterior inicia el planificador CRON usando el método Start (). También incluimos el tiempo.Método sleep () con un parámetro de 5 minutos. Esto se debe a que los métodos Start () se ejecutan en su propio Routine Go para la detección de bucle. El método de sueño evita que la rutina GO salga.

Si ejecutamos el código anterior, debemos obtener una salida como:

$ Go Run Main.ir
Hola cada minuto!
Hola cada minuto!
Hola cada minuto!
… .

Formatos de expresión de Golang

Puede usar varios formatos de expresión para definir un conjunto de tiempos y duraciones bajo los cuales se ejecutará una tarea.

El paquete CRON admite las siguientes expresiones:

  1. Un asterisco muestra que la expresión coincide con todos los valores del campo.
  2. Una barra delantera describe el incremento de los rangos.
  3. La coma separa una lista de elementos.
  4. Gyphen define un conjunto de rangos.

También puede usar los formatos predefinidos como se muestra:

Clausura

Este fue un tutorial introductorio sobre la creación y la programación de tareas que usan Cron en el idioma GO. Consulte los documentos para más.