Hi

Been trying to get Weewx running on Ubuntu 19.10 but problems... 

This how it looks (directly after weewx is started).

m@ubuntu1910n:~$ sudo systemctl status weewx
● weewx.service - weewx weather system
   Loaded: loaded (/etc/systemd/system/weewx.service; enabled; vendor 
preset: en
   Active: deactivating (stop-sigterm) since Tue 2020-01-14 00:08:18 CET; 
1s ago
  Process: 10656 ExecStart=/home/weewx/bin/weewxd --daemon 
--pidfile=/var/run/we
 Main PID: 10656 (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 1435)
   Memory: 8.7M
   CGroup: /system.slice/weewx.service
           └─10670 /usr/bin/python3 /home/weewx/bin/weewxd --daemon 
--pidfile=/v

jan 14 00:08:18 ubuntu1910n weewxd[10656]: weewx[10656] INFO weewx.engine: 
Using
                                           [GCC 9.2.1 20191008]
jan 14 00:08:18 ubuntu1910n weewxd[10656]: weewx[10656] INFO weewx.engine: 
Platf
jan 14 00:08:18 ubuntu1910n weewxd[10656]: weewx[10656] INFO weewx.engine: 
Local:
Jan 14 00:08:18 ubuntu1910n systemd[1]: Started weewx weather system.
Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: Initializing 
weewx version 4.0.0b8
Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: Using Python 
3.7.5 (default, Nov 20 2019, 09:21:52) #012[GCC 9.2.1 20191008]
Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: Platform 
Linux-5.3.0-26-generic-x86_64-with-Ubuntu-19.10-eoan
Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: Locale is 
'LC_CTYPE=en_US.UTF-8;LC_NUMERIC=nl_NL.UTF-8;LC_TIME=nl_NL.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=nl_NL.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=nl_NL.UTF-8;LC_NAME=nl_NL.UTF-8;LC_ADDRESS=nl_NL.UTF-8;LC_TELEPHONE=nl_NL.UTF-8;LC_MEASUREMENT=nl_NL.UTF-8;LC_IDENTIFICATION=nl_NL.UTF-8'
Jan 14 00:08:18 ubuntu1910n weewx[10656] INFO weewx.engine: PID file is 
/var/run/weewx.pid
Jan 14 00:08:18 ubuntu1910n weewx[10670] INFO weewx.engine: Using 
configuration file /home/weewx/weewx.conf
Jan 14 00:08:18 ubuntu1910n weewx[10670] DEBUG weewx.engine: Debug is 1
Jan 14 00:08:18 ubuntu1910n weewx[10670] DEBUG weewx.engine: Initializing 
engine
Jan 14 00:08:18 ubuntu1910n weewx[10670] INFO weewx.engine: Loading station 
type Vantage (weewx.drivers.vantage)
...
Weewx is running (that seems ok). But then...
...
Jan 14 00:08:29 ubuntu1910n weewx[10670] INFO weewx.engine: Using binding 
'wx_binding' to database 'weewx'
Jan 14 00:08:29 ubuntu1910n weewx[10670] INFO weewx.manager: Starting 
backfill of daily summaries
Jan 14 00:08:29 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: 
Getting archive packets since 2020-01-14 00:00:00 CET (1578956400)
Jan 14 00:08:30 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: 
Gentle wake up of console successful
Jan 14 00:08:31 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: 
Retrieving 0 page(s); starting index= 0
Jan 14 00:08:31 ubuntu1910n weewx[10670] INFO weewx.engine: Starting main 
packet loop.
Jan 14 00:08:32 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: 
Gentle wake up of console successful
Jan 14 00:08:33 ubuntu1910n weewx[10670] DEBUG weewx.drivers.vantage: 
Requesting 200 LOOP packets.
Jan 14 00:08:33 ubuntu1910n weewx[10670] INFO weewx.engine: Received signal 
TERM (15).
Jan 14 00:08:33 ubuntu1910n weewx[10670] INFO weewx.engine: Main loop 
exiting. Shutting engine down.
Jan 14 00:08:33 ubuntu1910n weewx[10670] DEBUG weewx.restx: Shut down WOW 
thread.
Jan 14 00:08:33 ubuntu1910n weewx[10670] DEBUG weewx.restx: Shut down 
Wunderground-PWS thread.
Jan 14 00:08:33 ubuntu1910n weewx[10670] DEBUG weewx.restx: Shut down 
StationRegistry thread.
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine: Terminating 
weewx version 4.0.0b8
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****  
Traceback (most recent call last):
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****    
File "/home/weewx/bin/weewx/engine.py", line 903, in main
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****      
engine.run()
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****    
File "/home/weewx/bin/weewx/engine.py", line 194, in run
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****      
for packet in self.console.genLoopPackets():
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****    
File "/home/weewx/bin/weewx/drivers/vantage.py", line 534, in genLoopPackets
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****      
for _loop_packet in self.genDavisLoopPackets(200):
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****    
File "/home/weewx/bin/weewx/drivers/vantage.py", line 554, in 
genDavisLoopPackets
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****      
self.port.wakeup_console(self.max_tries)
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****    
File "/home/weewx/bin/weewx/drivers/vantage.py", line 96, in wakeup_console
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****      
self.write(b'\n')
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****    
File "/home/weewx/bin/weewx/drivers/vantage.py", line 422, in write
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****      
time.sleep(self.tcp_send_delay)
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****    
File "/home/weewx/bin/weewx/engine.py", line 823, in sigTERMhandler
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****      
raise Terminate
Jan 14 00:08:34 ubuntu1910n weewx[10670] INFO weewx.engine:     ****  
weewx.engine.Terminate
Jan 14 00:08:34 ubuntu1910n systemd[1]: weewx.service: Succeeded.

Seems we are using the wrong startup type in the unit configuration file 
for the systemd. We should be using forking.
https://www.freedesktop.org/software/systemd/man/systemd.service.html


*"If set to simple, the service manager will consider the unit started 
immediately after the main service process has been forked off. It is 
expected that the process configured with ExecStart= is the main process of 
the service.""If set to forking, it is expected that the process configured 
with ExecStart= will call fork() as part of its start-up. The parent 
process is expected to exit when start-up is complete and all communication 
channels are set up. The child continues to run as the main service 
process, and the service manager will consider the unit started when the 
parent process exits."*
weewx.service (in /etc/systemd/system)

# systemd configuration for weewx

[Unit]
Description=weewx weather system
Requires=time-sync.target
After=time-sync.target
RequiresMountsFor=/home

[Service]
#ExecStart=/home/weewx/bin/weewxd --daemon --pidfile=/var/run/weewx.pid 
/home/weewx/weewx.conf
ExecStart=/home/weewx/bin/weewxd --daemon --pidfile=/run/weewx.pid 
/home/weewx/weewx.conf
ExecReload=/bin/kill -HUP $MAINPID
#Type=simple
Type=forking
#PIDFile=/var/run/weewx.pid
PIDFile=/run/weewx.pid
#User=weewx
#Group=weewx

[Install]
WantedBy=multi-user.target

About the PIDFile path: *"The path specified typically points to a file 
below /run/.*" This behouvior is changed since systemd 240. A warning is 
issued otherwise: 
*"Line references path below legacy directory /var/run/, updating 
/var/run/weewx.pid → /run/weewx.pid; please update the unit file 
accordingly."*

Ubuntu 19.10 then works fine (also Debian10 Buster and Ubuntu 19.04).

-- 
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/9a6ca053-3fcf-403d-b429-9a07a2fa9427%40googlegroups.com.

Reply via email to