我的pm2进程开始使用其默认的生态系统文件结构:
ecosystem.config.js
module.exports = {
apps: [{
env: {
NODE_ENV: "development"
},
error_file: "./logs/error.log",
ignore_watch: ["logs", "node_modules"],
log_date_format: "YYYY-MM-DD HH:mm:ss Z",
name: "my-app",
out_file: "./logs/output.log",
script: "./server.js",
watch: true
}]
}
我以pm2 start ecosystem.config.js
开始该过程,并且可以在文件更改时重新加载应用,效果很好。
但是,当我使用pm2 stop ecosystem.config.js
停止该过程,然后再次使用pm2 start ecosystem.config.js
启动该过程时,尽管watching
的显示列为{{1},但是pm2不会监视文件。 }。
再次启动该进程并进行监视的唯一方法是删除pm2进程,然后再次启动一个新的进程。
我想让enabled
或stop
与手表一起工作吗?
谢谢。
答案 0 :(得分:1)
pm2 watch & restart documentation得到了答案(必须在初读时掩盖了答案):
重新启动--watch将切换watch参数。
看起来像省略了已经存在的pm2实例上的--watch
标志,将不会切换ecosystem.config.js
文件中的watch参数。 watch参数仅在初始流程执行时切换,而不会在后续流程执行时切换。
因此,停止该过程,然后再次以pm2 start ecosystem.config.js --watch
开始就可以了!
答案 1 :(得分:0)
尝试添加
watch_options: {
"usePolling": true
}
答案 2 :(得分:0)
https://stackoverflow.com/users/7575111/nulldev
watch_options: { “usePolling”:真 } 答案对我很有帮助,因为它是一个试用环境,不需要我每次都重新启动应用程序