Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

210
Visualizações
Dynamic Cron Job in Node with axios

I need to create a service in NodeJS that periodically executes a GET request to an API that return all the Jobs/Tasks. The service then needs to create a CronJob for each task returned while continuing to check for new tasks, and if there are new ones create new CronJobs. I made something similar by having a service that runs a GET and then does a forEach loop and creates new CronJobs. But this doesn't take in account new tasks that are created after the first initialization. How do I solve this? How do I make a service that is always looking for new tasks and dynamically creates them? EDIT1: the axios.post just post a log on a database, nothing special

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();
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda