shi*_*ams 4 node.js npm ansible pm2
我正在尝试通过 ansible 使用 pm2 启动节点程序。问题是该pm2 start命令在 ansible 下不是幂等的。再次运行时报错。
这是我的 ansible play
- name: start the application
become_user: ubuntu
command: pm2 start app.js -i max
tags:
- app
Run Code Online (Sandbox Code Playgroud)
现在,如果我第一次运行它,那么它运行正常,但是当我再次运行它时,我收到错误消息,告诉我脚本已经在运行。
绕过此错误并通过 ansible 正确处理 pm2 的正确方法是什么。
在启动脚本之前,您应该删除以前的内容,如下所示:
- name: delete existing pm2 processes if running
command: "pm2 delete {{ server_id }}"
ignore_errors: True
become: yes
become_user: rw_user
- name: start pm2 process
command: 'pm2 start -x -i 4 --name "{{server_id}}" server.js'
become: yes
become_user: rw_user
environment:
NODE_ENV: "{{server_env}}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6693 次 |
| 最近记录: |