我需要每24小時在Node.js中運行代碼。我遇到了一個叫做setTimeout
的函數。以下是我的代碼片段在Node.js中設置一個計時器
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);
我想每小時運行一次上述代碼並解析數據。爲了我的參考,我用了一秒作爲計時器的值。任何想法如何進行將是非常有益的。
不是這樣的......你想每小時運行整個腳本一次,不要指望節點進程永遠活着。如果你在linux中查找cron作業。 – 2013-02-14 05:54:49
@cwolves我在Windows 7的任何想法如何工作? – 2013-02-14 06:10:36
如果你使用的不是Linux兼容的操作系統,那麼使用另一個可以執行相同操作的程序。 [Windows任務計劃似乎是一個受歡迎的答案。](http://stackoverflow.com/questions/132971/what-is-the-windows-version-of-cron) – ekillaby 2013-08-07 05:57:16