使用Forever(Node.JS模块)运行Python脚本每秒重新启动

时间:2018-04-15 00:33:14

标签: python node.js forever

我用“永远启动app.py”开始我的永远,然后检查“永远列表”,应用程序停止并且不重启。当我开始它“永远启动--minUptime 1000 --spinSleepTime 1000 app.py”时,它会每隔0.8秒或更短时间重复一次。如果我在永远的外面运行我的应用程序它完全正常。我重新启动了我的电脑,同样的事情发生了。知道问题可能是什么吗?

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

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上运行最新版本。 (Node.js 9.11.1和NPM 5.6.0)。任何帮助都会受到超级赞赏。

1 个答案:

答案 0 :(得分:1)

通过检查日志来修复您的问题。

在终端执行:

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

$ 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,因为当您使用相同的端口运行许多应用时端口冲突,所以如果是:

确保列表(forever list

中没有相同的app.js

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

更新:

由于您使用python模块(nodejs)运行forever脚本,请尝试按以下方式运行:

forever start -c "python app.py"