Saltar al contenido

Programar tareas de Cron para Strapi

Si encuentras algo que no entiendes puedes dejarlo en los comentarios y haremos todo lo posible de ayudarte rápidamente.

Solución:

Según Wikipedia:

La utilidad de software cron también conocida como trabajo cron es un programador de trabajos basado en el tiempo en sistemas operativos de computadoras similares a Unix. Los usuarios que configuran y mantienen entornos de software utilizan cron para programar trabajos (comandos o scripts de shell) para que se ejecuten periódicamente en horas, fechas o intervalos fijos. Por lo general, automatiza el mantenimiento o la administración del sistema, aunque su naturaleza de propósito general lo hace útil para cosas como descargar archivos de Internet y descargar correo electrónico a intervalos regulares.

Las tareas CRON le permiten programar trabajos (funciones arbitrarias) para su ejecución en fechas específicas, con reglas de recurrencia opcionales. Solo usa un solo temporizador en un momento dado (en lugar de reevaluar los próximos trabajos cada segundo / minuto).

Esta función está impulsada por node-schedule módulos de nodo.

¡Escribir trabajos cron en Strapi es muy simple! En este tutorial, le mostraré cómo puede habilitar y escribir trabajos cron para Strapi.

Comprender el formato de la tarea Cron #

El formato cron consta de:

*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    |
│    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── month (1 - 12)
│    │    │    └────────── day of month (1 - 31)
│    │    └─────────────── hour (0 - 23)
│    └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)

Puede utilizar los símbolos para especificar más detalles:

Esta lista contiene símbolos válidos con explicación:

*    any value
,    value list separator
-    range of values
/    step values

Ejemplo:

Este cron string:

5  0  *  8  *

significa: “A las 00:05 de agosto”.

Habilitar tareas cron para Strapi #

Escribir tareas cron en Strapi, primero debemos habilitarlos. Para hacerlo, tenemos que editar el config / server.js

// config/server.js

cron: enabled:true

Un ejemplo completo podría verse así.

// config/server.js

module.exports=( env )=>(
  host:env('HOST','0.0.0.0'),
  port: env.int('PORT',1337),
  admin:
    auth:
      secret:env('ADMIN_JWT_SECRET','VerySecretString'),,,
  cron: enabled:true,);

Escribir tareas cron para Strapi #

Para escribir tareas cron para strapi, tenemos que editar config/functions/cron.js expediente.

Puede crear tantas tareas cron como desee, todo lo que necesita hacer es agregar el cron string como un key y el controlador funciona como valor para los objetos exportados. Veamos un ejemplo de programación de publicaciones.

// config/functions/cron.js'use strict';/**
 * Cron config that gives you an opportunity
 * to run scheduled jobs.
 *
 * The cron format consists of:
 * [SECOND (optional)] [MINUTE] [HOUR] [DAY OF MONTH] [MONTH OF YEAR] [DAY OF WEEK]
 *
 * See more details here: https://strapi.io/documentation/v3.x/concepts/configurations.html#cron-tasks
 */

module.exports={'*/5 * * * *':async()=>const markdownPosts =await strapi.api.post.services.post.find(
      _publicationState:'preview',
      published_at_lt:newDate());// update publish_at of articles
    markdownPosts.forEach(asyncarticle=>await strapi.api.post.services.post.update( id: article.id, published_at:newDate()););;

Espero que este tutorial pueda ayudarlo a comenzar y usar el trabajo cron de Strapi, y espero automatizar algunas tareas repetitivas.

Te mostramos reseñas y calificaciones

No se te olvide recomendar este tutorial si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *