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) <[email protected]>
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
> > [email protected] <mailto:
> [email protected]>.
> > 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
> [email protected].
> 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 [email protected].
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