gpt4 book ai didi

node.js - NodeJS : Error: read ECONNRESET at TCP. onStreamRead (内部/stream_base_commons.js:111:27)

转载 作者:太空宇宙 更新时间:2023-11-04 03:17:45 28 4
gpt4 key购买 nike

使用如下所示的轮询来检查文件内容是否更改,然后调用其他两个函数

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 throw er; // Unhandled 'error' event ^

Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:111:27) Emitted 'error' event at: at emitErrorNT (internal/streams/destroy.js:82:8) at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)

尝试使用 fs.watch 来监视文件中的更改,而不是像下面那样进行轮询:

let md5Previous = null; let fsWait = false;

fs.watch(dataSourceLogFile, (event, filename) => { if (filename) {

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 throw er; // Unhandled 'error' event ^

Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:111:27) Emitted 'error' event at: at emitErrorNT (internal/streams/destroy.js:82:8) at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)

但是当在本地计算机中运行时,它工作正常。仅当在远程 Linux 计算机中运行时才会出现该错误。

有人可以帮我解决这个问题吗?

最佳答案

使用一次fs.watchFile,因为fs.watch跨平台不一致,

https://nodejs.org/docs/latest/api/fs.html#fs_fs_watchfile_filename_options_listener

根据要求更改代码。

关于node.js - NodeJS : Error: read ECONNRESET at TCP. onStreamRead (内部/stream_base_commons.js:111:27),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54037384/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com