Thanks for your suggestion. PM2 actually looks really good. Great
monitoring metrics and ansible seems to seamlessly invoke it no problem:

- name: Task17 - start nodejs - Step1 of 3 - execute startup script
        shell: pm2 start app.js
        register: status
        args:
          chdir: "/apps/test/postcodes.io"

      - debug:
          var: status
]

and provides a handy output to the terminal


"stdout": "[PM2] Applying action restartProcessId on app [app](ids: [ 0
])\n[PM2] [app](0) ✓\n[PM2] Process successfully
started\n┌─────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐\n│
id  │ name   │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │
status    │ cpu      │ mem      │ user     │ watching
│\n├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤\n│
0   │ app    │ default     │ 12.0.0  │ fork    │ 59888    │ 0s     │ 1    │
online    │ 0%       │ 8.7mb    │ wasadm   │ disabled
│\n└─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘",
        "stdout_lines": [
            "[PM2] Applying action restartProcessId on app [app](ids: [ 0
])",
            "[PM2] [app](0) ✓",
            "[PM2] Process successfully started",

"┌─────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐",
            "│ id  │ name   │ namespace   │ version │ mode    │ pid      │
uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │",

"├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤",
            "│ 0   │ app    │ default     │ 12.0.0  │ fork    │ 59888    │
0s     │ 1    │ online    │ 0%       │ 8.7mb    │ wasadm   │ disabled │",

"└─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘"
        ]
    }
}


However, using pm2 has introduced other problems such as me failing to have
it read the process.env file that node had no issues with so now I am not
listening on the intended port with the custom credentials. No doubt there
is a way to do this but  before looking at adopting pm2 is there not just a
simple fix to my existing ansible task in order to launch "node start" and
keep that process up and running?



On Thu, Sep 3, 2020 at 1:20 PM Stefan Hornburg (Racke) <ra...@linuxia.de>
wrote:

> On 9/3/20 2:07 PM, Sebastian Collins wrote:
> > Hi,
> >
> > I have this task and I can't for the life of me get it to keep the
> process running. I have added in some debug and it
> > shows me the process is getting shutdown almost immediately after it is
> started up as can be seen by the end time in the
> > output I have provided below. Please advise how I can fix this so that
> the process keeps on running as future tasks are
> > performed.
> >
> >
> >   - hosts: nodes
> >     remote_user: root
> >     become_user: test
> >     become: true
> >     tasks:
> >
> >       - name: execute startup script
> >         shell: nohup npm start > test.out 2>&1 &
> >         register: status
> >         args:
> >           chdir: "/apps/test/postcodes.io"
> >
> >       - debug:
> >           var: status
> >
> >
>
> Use a proper daemon process manager (PM2, https://pm2.keymetrics.io/).
>
> Regards
>         Racke
>
> > Output:
> >
> > TASK [execute startup script]
> ************************************************************
> > changed: [host] => {"changed": true, "cmd": "nohup npm start > test.out
> 2>&1 &", "delta": "0:00:00.006275", "end":
> > "2020-09-03 12:37:51.797561", "rc": 0, "start": "2020-09-03
> 12:37:51.791286", "stderr": "", "stderr_lines": [],
> > "stdout": "", "stdout_lines": []}
> >
> > TASK [debug]
> >
> ******************************************************************************************************************
> > ok: [host] => {
> >     "status": {
> >         "changed": true,
> >         "cmd": "nohup npm start > test.out 2>&1 &",
> >         "delta": "0:00:00.006275",
> >         "end": "2020-09-03 12:37:51.797561",
> >         "failed": false,
> >         "rc": 0,
> >         "start": "2020-09-03 12:37:51.791286",
> >         "stderr": "",
> >         "stderr_lines": [],
> >         "stdout": "",
> >         "stdout_lines": []
> >     }
> > }
> >
> > If I go on to the host and run it manually it works:
> >
> > host:APACHE >nohup npm start > host.out 2>&1 &
> > [1]     45428
> > user@host:/apps/test/postcodes.io
> > host:APACHE > ps -ef | grep node
> > user   45439 45428  3 12:54 pts/2    00:00:00 node server.js
> >
> >
> > Any help much appreciated.
> >
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "Ansible Project" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to
> > ansible-project+unsubscr...@googlegroups.com <mailto:
> ansible-project+unsubscr...@googlegroups.com>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/ansible-project/02be6001-7a5f-4f13-b478-199947412270n%40googlegroups.com
> > <
> https://groups.google.com/d/msgid/ansible-project/02be6001-7a5f-4f13-b478-199947412270n%40googlegroups.com?utm_medium=email&utm_source=footer
> >.
>
>
> --
> Ecommerce and Linux consulting + Perl and web application programming.
> Debian and Sympa administration. Provisioning with Ansible.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/wEC_V3rGxeg/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> ansible-project+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/bd730ce8-9abc-cce9-1854-14457cd27475%40linuxia.de
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAFqnG036tjLc%3DDkScJ_RtcQvuyZgx5YUA3ubqk4jYeHnngSiPQ%40mail.gmail.com.

Reply via email to