[eggjs/egg]定时任务worker一直被kill掉

2024-07-22 934 views
8
BA01FFCF-4A65-4CF0-A0DB-6741913EB0EE

之前一直好的,突然从某个时间点worker一直会被kill掉,请问这是什么原因导致的呢?

回答

2

检查你的环境,是被外部程序 kill 的。如果是容器里面,检查是不是内存等原因

1

image

我看worker进程好像在的呀,但是日志里说woker还是被kill掉了。。

image

3

image

从这个提示来看,是 master 收到了外部发的 kill 指令。

至于你 PS 出来的那些,你可以手动 kill 一次再看看能否复现

2

手动kill掉以后,服务就停掉了。 日志里面提示定时任务woker被kill掉了,但是ps出来仍旧存在4个worker,而且服务也没停掉,只是定时任务不起作用了?

9

提供最小可复现方式

6

@atian25 天哥,我这里也遇到一个 worker 中断的问题,具体体现是中途毫无征兆的 word 重启,schedule 重新注册,没有任何的错误日志打印。中间的逻辑比较复杂,会有几十万次的循环 MySQL 事务提交,推测是内存问题,但是从 alinode 的图表也没有看出问题在哪。服务器是 2 核 4 G,只跑定时任务。

WX20191119-224555@2x

内存的 30% 是 4G 的 30%,还是 node 1G 的 30%?

3

找 Alinode 钉钉群相关同学看看吧。

worker 挂后的日志肯定会有的,看下 egg-scripts 的 master-xx 日志。

3

@atian25 劳烦天哥引个路,阿里云上的钉钉群加不进去,多谢。

7

钉钉群,11794270