PM2 (https://pm2.keymetrics.io/) is a process manager often associated with 
node.js apps written in Java Script. It can also manage processes written 
in Python (see: https://pm2.io/blog/2018/09/19/Manage-Python-Processes).

I was not able to get PM2 working with WeeWX - has anyone got it going?

I was able to get the example 'hello.py' script working.

When I tried 'sudo pm2 start /home/weewx/bin/weewxd' I got the following 
error (viewed using 'sudo pm2 logs'):

1|weewxd  | /home/weewx/bin/weewxd:2
1|weewxd  | #
1|weewxd  | ^
1|weewxd  | SyntaxError: Invalid or unexpected token
1|weewxd  |     at Module._compile (internal/modules/cjs/loader.js:723:23)
1|weewxd  |     at Object.Module._extensions..js 
(internal/modules/cjs/loader.js:789:10)
1|weewxd  |     at Module.load (internal/modules/cjs/loader.js:653:32)
1|weewxd  |     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
1|weewxd  |     at Function.Module._load 
(internal/modules/cjs/loader.js:585:3)
1|weewxd  |     at Object.<anonymous> 
(/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23)
1|weewxd  |     at Module._compile (internal/modules/cjs/loader.js:778:30)
1|weewxd  |     at Object.Module._extensions..js 
(internal/modules/cjs/loader.js:789:10)
1|weewxd  |     at Module.load (internal/modules/cjs/loader.js:653:32)
1|weewxd  |     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
PM2       | App [weewxd:1] exited with code [1] via signal [SIGINT]
PM2       | Script /home/weewx/bin/weewxd had too many unstable restarts 
(16). Stopped. "errored"

I suspected that was because PM2 uses the file extension to determine the 
script language so I changed the name of 'weewxd' to 'weewxd.py'.  Things 
progressed a little further but I got:

/root/.pm2/logs/weewxd-out.log last 15 lines:
/root/.pm2/logs/weewxd-error.log last 15 lines:
0|weewxd   |   File "/home/weewx/bin/weewxd.py", line 20, in <module>
0|weewxd   |     import configobj
0|weewxd   | ImportError: No module named configobj
0|weewxd   | Traceback (most recent call last):
0|weewxd   |   File "/home/weewx/bin/weewxd.py", line 20, in <module>
0|weewxd   |     import configobj
0|weewxd   | ImportError: No module named configobj
0|weewxd   | Traceback (most recent call last):
0|weewxd   |   File "/home/weewx/bin/weewxd.py", line 20, in <module>
0|weewxd   |     import configobj
0|weewxd   | ImportError: No module named configobj
0|weewxd   | Traceback (most recent call last):
0|weewxd   |   File "/home/weewx/bin/weewxd.py", line 20, in <module>
0|weewxd   |     import configobj
0|weewxd   | ImportError: No module named configobj

I assume that WeeWx is starting up but the Python interpreter can't find 
the file for the the import, so perhaps something needs to be tweaked in 
PATH?  I don't want to change anything in that area with advice.

Starting/stopping WeeWX with '/etc/init.d/weewx' works perfectly.

Regards and thanks in advance,

Garry


-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" 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/weewx-user/830dc248-93ad-489e-b4d8-d2169332a318n%40googlegroups.com.

Reply via email to