提问者:小点点

nodejs-为什么setInterval突然停止工作?


我有一个非常简单的setInterval NodeJS脚本:

server.js:

setInterval(() => {
  console.log('Up and running...');
}, 60*1000);

我用Docker中的nodemon运行它(下面的文件)。

我的问题是setinterval这个脚本偶尔停止工作,完全没有错误消息,没有异常,没有任何迹象。Nodemon正在运行,我的脚本似乎正在运行,但setInterval不再“滴答”了。

这是随机发生的,通常在运行数天或数周之后。

我在不同的项目,不同的服务器上都遇到过这种情况,但是所有的Docker,所有的节点10.8和所有的Debian10。

DockerFile:

FROM node:10.8.0

WORKDIR /usr/src/app

RUN npm install nodemon -g

CMD [ "nodemon", "server.js" ]

docker-compose.yml:

version: "3.7"
services:
  node:
    build: .
    restart: always
    volumes:
      - ./src:/usr/src/app

共1个答案

匿名用户

github上的以下问题听起来与您的问题非常相似:https://github.com/nodejs/node/issues/22149

尝试升级到node>=v10.9.0,因为修复程序应该包含在此或更高版本中。