egg [ClusterClient:Watcher] follower closed, and try to init it again

watbbzwu  于 5个月前  发布在  其他
关注(0)|答案(6)|浏览(73)

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
zhte4eai

zhte4eai1#

试下 npm

这个报错常见于 CPU 100% 时

eoigrqb6

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直接满载了。
一直没找到会满载的原因。

fd3cxomn

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满载的情况。

f8rj6qna

f8rj6qna4#

也可能是一些 Sync 的同步操作导致的。
可以用 Alinode 分析 cpu 耗时。

2admgd59

2admgd595#

@wangweiwei@dingangang 能否提供可复现的方式?

mbskvtky

mbskvtky6#

同遇到,放app.ready里就不报错了...

相关问题