What happens?
新初始化的项目,没有添加任何代码,也没有没有任何操作,等待一会儿就会出现
复现步骤,错误日志以及相关配置
步骤
1、任意一个文件夹
2、cnpm init egg
3、选择:ts - Simple egg && typescript app boilerplat
……
n-1、yarn
n、yarn dev
日志
2019-07-14 14:08:15,437 ERROR 3167 nodejs.ClusterClientNoResponseError: client no response in 107404ms exceeding maxIdleTime 60000ms, maybe the connection is close on other side.
at Timeout.Leader._heartbeatTimer.setInterval [as _onTimeout] (/Users/xxx/Codes/f2e-full-stack/company/qtt/task-schedule/node_modules/cluster-client/lib/leader.js:77:23)
at listOnTimeout (timers.js:324:15)
at processTimers (timers.js:268:5)
name: "ClusterClientNoResponseError"
pid: 3167
hostname: xxx-Pro.local
相关环境信息
- 操作系统:macOS Mojave:
- Node 版本:v11.2.0:
- Egg 版本:2.22.2:
6条答案
按热度按时间zhte4eai1#
试下 npm
这个报错常见于 CPU 100% 时
eoigrqb62#
ClusterClientNoResponseError 之前这个问题我也经常见,无解。。
我也有这个问题。我是要读取微信的jssdk授权。
如果放在生命周期函数willReady中去执行。 3~5分钟,必出这个错。
如果是放在其他地方,等有请求进入时再请求授权则不报这个错。
可用区:深圳 可用区C (cn-shenzhen-c)
网络类型:专有网络
配置信息规格:1 vCPU 2 GiB(ecs.t5-lc1m2.small)
I/O 优化:是带宽付费类型:按固定带宽带宽:1 Mbps
而且我npm start 的情况下,几分钟之后,cpu直接满载了。
一直没找到会满载的原因。
fd3cxomn3#
发现个有意思的事。我还是用PM2部署启动项目,就不会满载。。。。
根目录建server.js
// server.js
const egg = require('egg');
const workers = Number(process.argv[2] || require('os').cpus().length);
egg.startCluster({
workers,
baseDir: __dirname,
});
————————————————
版权声明:本文为CSDN博主「clearlxj」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/clearlxj/article/details/88708709
然后 pm2 start server.js --name test
测试了大概一个小时没出现CPU满载的情况。
f8rj6qna4#
也可能是一些 Sync 的同步操作导致的。
可以用 Alinode 分析 cpu 耗时。
2admgd595#
@wangweiwei@dingangang 能否提供可复现的方式?
mbskvtky6#
同遇到,放app.ready里就不报错了...