Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

134
Vistas
programar ruta o controlador

tengo un controlador

 exports.updateDaily = async (req, res) => { try { const updateDaily = await transaction.decrement( { remainActive: 1, }, { where: { remainActive: { [Op.gte]: 1 }, }, } ); console.log(updateDaily); res.status(200).send({ status: "Success", }); } catch (error) { console.log(error); res.status(400).send({ status: "Failed", }); } };

y ruta como esta

 router.patch('/updateDaily', updateDaily)

Usando el nodo cron

 let job = new cron.schedule('2 * * * *', () => { router.patch('/updateDaily', updateDaily); }); job.start()

Usando setIntverval

 const scheduller = () => { return router.patch('/updateDaily', updateDaily); } setInterval(scheduller,600000)

¿Cómo puedo hacer que uno de ellos funcione cada 10 minutos? ya lo intente con node-cron o setInterval pero no pasa nada

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Has entendido mal el concepto. Tener un trabajo programado significa ejecutar algo periódicamente, lo que tiene que ser una función que haga algo. No necesita un enrutador definido en él. Su código solo hace una cosa: programa un enrutador para que esté disponible para el usuario una vez que llega la hora programada y lo redefine cada 10 minutos.

Lo que necesita es crear una función separada para la operación y llamarla a una hora programada y tener un enrutador en este punto es adicional a menos que desee ejecutarlo cuando el usuario también envíe una solicitud.

 const myDailyTask = async () => { await transaction.decrement( { remainActive: 1, }, { where: { remainActive: { [Op.gte]: 1 }, }, } ); }; const id = setInterval(myDailyTask, 600_000);

Debería funcionar para el trabajo cron de la misma manera.

 const job = new cron.schedule('2 * * * *', () => { myDailyTask(); }); job.start();
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda