Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

309
Views
Cómo ejecutar un trabajo cron cuando el código está en otro archivo - Node JS

Estoy tratando de ejecutar un cron cada 1 hora.

Para lo cual inicié el trabajo cron en mi archivo index.js como se muestra a continuación

 const cron = require('node-cron'); const readDocuments = require("./cronJobs/readDocuments"); var task = cron.schedule('0 0 */1 * * *', readDocuments); task.start();

Mientras que el código real que se ejecutará se ha escrito en ./cronJobs/readDocuments y el código dentro de este archivo está debajo, donde intento leer un archivo csv.

leerDocumentos.js

 const ResponseManager = require("../common/ResponseManager"); var fs = require('fs'); const csv = require('csv-parser'); console.log('Read Document....') try { var filepath = "../files/abc.csv"; fs.createReadStream(filepath) .on('error', () => { // handle error }) .pipe(csv()) .on('data', (row) => { console.log('rowrowrow',row) }) .on('end', () => { // handle end of CSV }) } catch (error) { console.log('errorerror',error) res.status(500).json(ResponseManager(false, error.message)); }

Cuando ejecuto el nodo js en cmd con node index.js , la consola Read Document.... se muestra pero el otro código no se ejecuta. Me está dando throw 'execution must be a function'; error

¿Cómo resuelvo esto o cuál es el procedimiento real para ejecutar el código dentro de un archivo con trabajo cron de index.js?

Por favor ayuda. Gracias !!

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

necesita exportar la función cron y consumirla en su archivo

about 4 years ago · Juan Pablo Isaza Report

0

El segundo argumento de cron.schedule() debe ser función. Debe envolver el código en una función y exportarlo desde el módulo.

 const ResponseManager = require("../common/ResponseManager"); const fs = require('fs'); const csv = require('csv-parser'); module.exports = function () { console.log('Read Document....') try { const filepath = "../files/abc.csv"; fs.createReadStream(filepath) .on('error', () => { // handle error }) .pipe(csv()) .on('data', (row) => { console.log('rowrowrow', row) }) .on('end', () => { // handle end of CSV }); } catch (error) { console.log('errorerror', error) res.status(500).json(ResponseManager(false, error.message)); } };
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!