nodejs ejemplo node.js settimeout setinterval

node.js - ejemplo - settimeout typescript



ConfiguraciĆ³n de un temporizador en Node.js (1)

Necesito ejecutar el código en Node.js cada 24 horas. Me encontré con una función llamada setTimeout . A continuación se muestra mi fragmento de código

var et = require(''elementtree''); var XML = et.XML; var ElementTree = et.ElementTree; var element = et.Element; var subElement = et.SubElement; var data=''<?xml version="1.0"?><entries><entry><TenantId>12345</TenantId><ServiceName>MaaS</ServiceName><ResourceID>enAAAA</ResourceID><UsageID>550e8400-e29b-41d4-a716-446655440000</UsageID><EventType>create</EventType><category term="monitoring.entity.create"/><DataCenter>global</DataCenter><Region>global</Region><StartTime>Sun Apr 29 2012 16:37:32 GMT-0700 (PDT)</StartTime><ResourceName>entity</ResourceName></entry><entry><TenantId>44445</TenantId><ServiceName>MaaS</ServiceName><ResourceID>enAAAA</ResourceID><UsageID>550e8400-e29b-41d4-a716-fffffffff000</UsageID><EventType>update</EventType><category term="monitoring.entity.update"/><DataCenter>global</DataCenter><Region>global</Region><StartTime>Sun Apr 29 2012 16:40:32 GMT-0700 (PDT)</StartTime><ResourceName>entity</ResourceName></entry></entries>'' etree = et.parse(data); var t = process.hrtime(); // [ 1800216, 927643717 ] setTimeout(function () { t = process.hrtime(t); // [ 1, 6962306 ] console.log(etree.findall(''./entry/TenantId'').length); // 2 console.log(''benchmark took %d seconds and %d nanoseconds'', t[0], t[1]); //benchmark took 1 seconds and 6962306 nanoseconds },1000);

Quiero ejecutar el código anterior una vez por hora y analizar los datos. Para mi referencia, había usado un segundo como el valor del temporizador. Cualquier idea de cómo proceder será de mucha ayuda.


Básicamente hay tres formas de ir.

  1. setInterval()

La función setTimeout(f, n) espera n milisegundos y llama a la función f . La función setInterval(f, n) llama a f cada n milisegundos.

setInterval(function(){ console.log(''test''); }, 60 * 60 * 1000);

Esto imprime test cada hora. Simplemente puedes lanzar tu código (excepto las declaraciones requeridas) en un setInterval() . Sin embargo, eso me parece algo feo. Prefiero ir con

  1. Tareas programadas La mayoría de los sistemas operativos tienen una forma de organizar las tareas. En Windows, esto se denomina " Tareas programadas " en la búsqueda de Linux para cron.

  2. Use una biblioteca Como me di cuenta al responder, incluso se podría ver esto como un duplicado de esa pregunta.