运行 Python 永久脚本(Node.JS 模块)每秒重新启动

Running Python script with Forever (Node.JS module) restarting every second

我从 "forever start app.py" 开始我的永远,然后用 "forever list" 检查,应用程序已停止并且不会重新启动。当我启动它时 "forever start --minUptime 1000 --spinSleepTime 1000 app.py" 它会每隔 0.8 秒或更短时间一遍又一遍地重新启动它。如果我 运行 我的应用程序永远运行正常。我重新启动了我的电脑,同样的事情发生了。知道问题出在哪里吗?

我卸载了 forever 甚至 Node.JS 并重新安装,当我尝试 forever 重新启动时,我遇到了这个错误:

SyntaxError: Unexpected token import
at new Script (vm.js:51:7)
at createScript (vm.js:136:10)
at Object.runInThisContext (vm.js:197:10)
at Module._compile (internal/modules/cjs/loader.js:618:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
at Function.Module._load (internal/modules/cjs/loader.js:498:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:695:10)
at startup (internal/bootstrap/node.js:201:19)
error: Forever detected script exited with code: 1

更新

当我永远停止 0 停止的进程时,即使它删除了它,它也会给出一个错误:

 error:   Forever cannot find process with id: 0

在那之后,当我检查永久日志时,我得到:

error:   Cannot start forever
error:   script C:\Users\Aaron Mazie\log does not exist.

我正在使用 Windows 10 和 运行ning 最新版本。 (Node.js 9.11.1 和 NPM 5.6.0)。任何帮助将不胜感激。

通过检查日志解决您的问题。

在终端执行:

1) forever list 并找到您的应用 运行ning

$ forever list
info:    Forever processes running
data:        uid      command             script    forever pid   id logfile                         uptime        
data:    [0] UID-HERE /usr/local/bin/node app.js 63123   56557    /home/api/.forever/UID-HERE.log STOPPED

2) forever logs 0(列表中的 [0] 序号为 0)

forever logs 0 -f(连续阅读)

3) 阅读日志并解决您的问题

我猜可能是 EADDRINUSE 因为当你 运行 许多应用程序使用同一个端口时端口冲突,所以如果是:

确保列表中没有相同的app.js (forever list)

执行:ps -ax | grep node 并可能 运行 可能由系统上的其他用户查看 nodejs 应用程序

更新:

因为您正在使用 nodejs 模块 (forever) 运行ning python 脚本,请尝试 运行 像这样:

forever start -c "python app.py"