Estoy buscando un horario de trabajo de nodo que me permita programar una serie de tareas a diferentes intervalos. Por ejemplo,
- llamar a la función A cada 30 segundos
- llamar a la función B cada 60 segundos
- llamar a la función C cada 7 días
También quiero poder iniciar y detener el proceso.
Hasta ahora, he mirado:
más tarde - la sintaxis me confunde, aparentemente también no puedes programar tareas más allá de un mes
agenda - parece la más prometedora, sin embargo, estoy confundido acerca de la funcionalidad de la base de datos
plan de tiempo : demasiado simple, no se puede iniciar y detener
La sintaxis de este último me parece confusa.
node.js
cron
scheduled-tasks
usuario379468
fuente
fuente
Respuestas:
Yo recomendaría
node-cron
. Permite ejecutar tareas utilizando patrones de Cron, por ejemploPero también horarios más complejos , por ejemplo
Código de muestra : ejecutar el trabajo cada 10 minutos:
Puedes encontrar más ejemplos en el wiki de node-cron
Puede encontrar más información sobre la configuración de cron en cron wiki
He estado usando esa biblioteca en muchos proyectos y hace el trabajo. Espero que le ayudará.
fuente
He usado node-cron y agenda .
node-cron es una biblioteca muy simple, que proporciona una API muy básica y fácil de entender como crontab. No necesita ninguna configuración y simplemente funciona.
La agenda es muy poderosa y adecuada para servicios mucho más complejos. Piensa en ifttt , tienes que ejecutar millones de tareas. La agenda sería la mejor opción.
Nota: Necesita Mongodb para usar Agenda
fuente
Creo que el mejor ranking es
y la muestra de nodo-horario está abajo:
Tal vez pueda encontrar la respuesta de los módulos de nodo .
fuente
He escrito un módulo de nodo que proporciona un contenedor alrededor de setInterval usando duraciones de momento que proporcionan una interfaz declarativa:
https://www.npmjs.com/package/every-moment
https://github.com/raygerrard/every-moment
fuente
node-cron
como respuesta @Tom. y tiene una buena sintaxis similar a la tuya.reel().call(() => console.log('hello !!')).everyMinute().run()
github.com/shakee93/node-reelnodoJS predeterminado
https://nodejs.org/api/timers.html
fuente
He escrito un pequeño módulo para hacer eso, llamado timexe :
Instalar en pc:
utilizar:
puede lograr la funcionalidad de inicio / detención al eliminar / volver a agregar la entrada directamente en la matriz de trabajos timexe. Pero no es una función expresa.
fuente