最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

的NodeJS:错误:在TCP.onStreamRead读ECONNRESET(内部 stream

运维笔记admin7浏览0评论

的NodeJS:错误:在TCP.onStreamRead读ECONNRESET(内部/ stream

的NodeJS:错误:在TCP.onStreamRead读ECONNRESET(内部/ stream

使用轮询像下面以检查文件的内容被改变,那么,另外两个函数的调用

var poll_max_date=AsyncPolling(function (end,err) {   if(err)   {
       console.error(err);   }   var stmp_node_id=fs.readFileSync(path.join(__dirname,'node_id'),"utf8"); 
   console.log("--------loaded node : "+stmp_node_id);  
   if(druid_stmp_node_id!=stmp_node_id)   {
         // MAX DATA CUT-OFF DRUID QUERY
         druid_exe.max_date_query_fire();

         // // DRUID QUERY FOR GLOBAL DATA
         druid_exe.global_druid_query_fire();

         druid_stmp_node_id=stmp_node_id;   }

     end(); }, 1800000).run();//30 mins

它的做工精细了一段时间,但随后得到以下错误,如后4 - 5小时:

events.js:167遥儿; //未处理的“错误”事件^

错误:在TCP.onStreamRead读ECONNRESET(内部/ stream_base_commons.js:111:27)在发射的 '错误' 事件:在emitErrorNT在emitErrorAndCloseNT(内部/流/ destroy.js:82 8)(内部/流/破坏。 JS:50:3)

使用fs.watch监控的文件,而不是像下面轮询变化的尝试:

让md5Previous = NULL;让fsWait = FALSE;

fs.watch(dataSourceLogFile,(事件,文件名)=> {如果(文件名){

if (fsWait) return;
fsWait = setTimeout(() => {
  fsWait = false;
}, 1000);

const md5Current = md5(fs.readFileSync(dataSourceLogFile));
if (md5Current === md5Previous) {
  return;
}

md5Previous = md5Current;

console.log(`${filename} file Changed`);

// MAX DATA CUT-OFF DRUID QUERY
druid_exe.max_date_query_fire();
// DRUID QUERY FOR GLOBAL DATA
druid_exe.global_druid_query_fire();   } });

它也工作正常了一段时间,但后来得到同样的错误等之后,4 - 5小时:

events.js:167遥儿; //未处理的“错误”事件^

错误:在TCP.onStreamRead读ECONNRESET(内部/ stream_base_commons.js:111:27)在发射的 '错误' 事件:在emitErrorNT在emitErrorAndCloseNT(内部/流/ destroy.js:82 8)(内部/流/破坏。 JS:50:3)

但是,当在本地机器上,其工作运行良好。只有在远程Linux机器上运行时发生错误。

有人可以帮助我,我怎么能解决这个问题?

回答如下:
发布评论

评论列表(0)

  1. 暂无评论