Necesito crear un servicio en NodeJS que periódicamente ejecute una solicitud GET a una API que devuelva todos los trabajos/tareas. Luego, el servicio necesita crear un CronJob para cada tarea devuelta mientras continúa buscando nuevas tareas, y si hay nuevas, cree nuevos CronJobs. Hice algo similar al tener un servicio que ejecuta un GET y luego hace un ciclo forEach y crea nuevos CronJobs. Pero esto no tiene en cuenta las nuevas tareas que se crean después de la primera inicialización. ¿Cómo puedo solucionar esto? ¿Cómo hago un servicio que siempre está buscando nuevas tareas y las crea dinámicamente? EDIT1: el axios.post solo publica un registro en una base de datos, nada especial
const axios = require("axios"); const CronJob = require("cron").CronJob; const cron = require("cron"); const startCron = async () => { const schedules = await axios .get("http://127.0.0.1:4000/") .then((res) => { return res.data; }) .catch((err) => console.log(err)); schedules.forEach((schedule) => { return new CronJob(`${schedule.timing} * * * * *`, () => { let d = new Date(); console.log(schedule.message + " in data: " + d); axios.post(`http://127.0.0.1:4000/${schedule.id}`); }).start(); }); }; startCron();