mysql - NodeJS MySQL异常超时不是登录问题
问题描述
好的,所以我有一个使用 nodejs mysql 集成的数据库,它在 99% 的情况下都可以正常工作,但是当执行更长的执行过程时,它决定每次都执行并给我这个错误。
Error: connect ETIMEDOUT
at Connection._handleConnectTimeout (/root/bot/node_modules/mysql/lib/Connection.js:409:13)
at Object.onceWrapper (events.js:421:28)
at Socket.emit (events.js:315:20)
at Socket._onTimeout (net.js:481:8)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7)
--------------------
at Protocol._enqueue (/root/bot/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Protocol.handshake (/root/bot/node_modules/mysql/lib/protocol/Protocol.js:51:23)
at Connection.connect (/root/bot/node_modules/mysql/lib/Connection.js:116:18)
at Connection._implyConnect (/root/bot/node_modules/mysql/lib/Connection.js:454:10)
at Connection.query (/root/bot/node_modules/mysql/lib/Connection.js:196:8)
at Client.<anonymous> (/root/bot/bot.js:281:7)
at Client.emit (events.js:327:22)
at MessageCreateAction.handle (/root/bot/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (/root/bot/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (/root/bot/node_modules/discord.js/src/client/websocket/WebSocketManager.js:386:31) {
errorno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
fatal: true
}
在所有其他位置和功能中,它工作得非常好,但是这个剂量。我试过像这样设置超时。
[mysqld]
max_connections=200
wait_timeout = 31536000
interactive_timeout = 31536000
connect_timeout=31536000
在这样的实际程序中。
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "passwd",
timeout: 6000000,
database: "bot"
}); // MYSQL Connection
仍然超时。这让我发疯,任何人都可以在这里提供一些帮助或见解吗?
谢谢!
解决方案
经过一些头发撕裂挫折和花费数小时后,我终于找到了解决方案。
永远...
https://www.npmjs.com/package/forever
由于某些未知原因,在 Forever 而不是我的节点循环下运行程序似乎可以解决所有超时问题。
感谢大家的帮助!
推荐阅读
- ms-access - 排序访问联合查询 SQL
- snowflake-cloud-data-platform - 查询大表时的雪花性能问题
- scala - 3rd 方隐式验证的 Spark 序列化解决方法
- php - 如何映射由 fscrawler 创建的索引,以便可以对文档进行精确的全文搜索?
- javascript - 如何在不同长度的文本周围创建 // 的注释块
- javascript - 如何更新钩子内的状态并从另一个钩子中读取它
- javascript - 想要使用第三方库“react-picky”作为可过滤的多选组件与 React Material UI ,但与 Material Design 不一致
- python - 如果它不是None,如何将局部变量添加到pymongo.find?
- c - 引导加载程序设置的链接器文件向量表
- python - 从 Pandas 数据框中的列表中删除重复值