我正在使用node.js代码将数据插入通过Excel文件发送的MySQL表中。我必须将此代码保持24小时运行,但是每隔15分钟我会收到ECONNRESET错误。正如您在代码中看到的那样,我尝试使用ws,但是问题仍然存在。
我也尝试过https://github.com/ionic-team/ionic-cli/issues/2921,但是每15分钟我都遇到同样的错误,但没有帮助。 我的代码有任何错误,请告诉我。
var express = require('express');
var server = express();
var bodyParser = require('body-parser');
var multer = require('multer');
var XLSX = require('xlsx');
var con = require('./dbconfig');
var WebSocket = require('ws')
const ws = new WebSocket("ws://localhost:3030");
ws.on('error', Error);
server.use(bodyParser.json());
//app.timeout = 0;
const http = require("http");
const originalOnSocket = http.ClientRequest.prototype.onSocket;
require("http").ClientRequest.prototype.onSocket = function(socket) {
const that = this;
socket.setTimeout(this.timeout ? this.timeout : 120000);
socket.on('timeout', function() {
that.abort();
});
originalOnSocket.call(this, socket);
};
var servernew = http.createServer(server);
var storage = multer.diskStorage({ //multers disk storage settings
destination: (req, file, cb) => {
cb(null, './uploads/')
},
filename: (req, file, cb) => {
var datetimestamp = Date.now();
cb(null, file.fieldname + '-' + datetimestamp + '.' +
file.originalname.split('.')[file.originalname.split('.').length - 1])
}
});
var upload = multer({ //multer settings
storage: storage,
fileFilter: (req, file, callback) => { //file filter
if (['xls', 'xlsx'].indexOf(file.originalname.split('.')
[file.originalname.split('.').length - 1]) === -1) {
return callback(new Error('Wrong extension type'));
}
callback(null, true);
}
}).single('file');
server.get('/', (req, res) => {
//jdhs
var workbook = XLSX.readFile(__dirname + '/uploads/demo.xlsx');
var sheet_name_list = workbook.SheetNames;
var xlData =
XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
console.log();
let valueArrayj = jsonArrayToValueArrayj(xlData);
con.query('INSERT ignore INTO demot Values ?', [valueArrayj], (err,
result) => {
if (err) {
res.json({ error_code: 0, err_desc: err, data: xlData });
throw err;
}
else {
console.log(result);
res.json({ error_code: 1, err_desc: "Data Inserted
successfully", data: xlData });
}
});
console.log(xlData);
});
ws.on('connection', (ws) => {
ws.on('error', handleError);
});
//server.timeout = 0;
server.listen('3030', () => {
console.log('running on 3030...');
});