运行 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"
我从 "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"