我使用了令人敬畏的pm2软件包来保持我的node.js应用程序活着,但我有一个问题,我不知道如何修复。
我的一个应用程序需要几个脚本,一个服务器和一些客户端。通常当我重新启动服务器时,所有脚本都会重新启动,但由于客户端已在服务器之前加载,因此未建立连接。 是否有可能确保脚本在另一个加载后启动?让我试着改写,以便更清楚
我有:
pm2 start server.js
pm2 start client.js
我只想在服务器启动时以某种方式启动客户端。
道歉是我的问题似乎不清楚,请评论,我会解释更多!
答案 0 :(得分:3)
重写您的客户端以进行多次连接尝试。这总是一件好事,在这种情况下它也会有所帮助。
答案 1 :(得分:1)
使用此脚本运行Pm2
pm2 start node <start script> --restart-delay <time in milliseconds>
答案 2 :(得分:0)
检查pm2 restart strategies
您可以选择restart-delay
您还可以使用restart_delay设置两次重启之间的固定时间
或者最好使用exp-backoff-restart-delay
指数式重新启动不会像异常发生时(例如数据库关闭)那样疯狂地重新启动应用程序,而是会增加重新启动之间的时间,从而减轻数据库或外部提供商的压力。
您可以在命令行中使用它
pm2 start app.js --exp-backoff-restart-delay=100
或文件上的json格式或通过生态系统.config.js文件:
module.exports = [{
script: 'app.js',
exp_backoff_restart_delay: 100
}]