NodeJS 脚本在 运行 永远被 SIGKILL 杀死

NodeJS Script killed by SIGKILL when running on Forever

我有一个 Node.JS 应用程序,它执行 MySQL 数据库访问、一些 HTTP 请求、将​​响应 CSV 保存到文件、读取同一文件并写入 Cassandra。我 运行 在 Ubuntu 14.04 上使用它,我正在使用 Express 来公开一个可以完成上述所有任务的网络 API。

我有另一个用 Node.JS 编写的应用程序,它为 200 个用户调用 API。因为它是 Node.JS,调用是异步的。

我 运行 Express 应用程序使用:

node index.js

当我 运行 其他脚本命中 Express API 时,该脚本 运行 对 200 个用户没有问题,响应为:

{"status":200,"message":"Got the data and saved to the DB"}

当我 运行 使用 Forever 的同一个 Express 应用时:

forever start -w index.js

然后 运行 200 个用户的 cron 脚本,我得到

err { [Error: socket hang up] code: 'ECONNRESET' }

当我打开日志文件时,这是我发现的:

error: restarting script because add changed error: Forever detected script was killed by signal: SIGKILL error: Script restart attempt #5

既然 App 运行 在前台 运行ning 时正常,而在后台 运行ning 时被杀死,它是否需要做一些关于多少资源的事情分配给守护进程?

我应该启动我的服务器吗?或者有什么办法可以分配更多的资源给快应用?

您似乎无法通过提取新代码更改文件或文件属性。

尝试为隐藏的子目录配置 .foreverignore,如此处所述

https://github.com/foreverjs/forever/issues/235

如果您不能忽略或停止更新该文件,则需要永远停止使用它来监视文件更新

我可以为 Linux 机器上的 运行 nodejs 应用程序推荐 http://supervisord.org/