basic systemd integration
Change-Id: I8525971aea417f6744831acf3effc4436c4e9883 Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/22934 Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de> Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
parent
d1abee44eb
commit
b9f261762f
1
debian/control
vendored
1
debian/control
vendored
@ -16,6 +16,7 @@ Build-Depends: debhelper (>= 11~),
|
||||
python3-psutil (>= 0.4),
|
||||
python3-pytest,
|
||||
python3-serial,
|
||||
python3-systemd,
|
||||
git,
|
||||
markdown,
|
||||
python3-daemon
|
||||
|
@ -43,6 +43,11 @@ from secop.errors import ConfigError
|
||||
from secop.lib import formatException, get_class, getGeneralConfig, mkthread
|
||||
from secop.modules import Attached
|
||||
|
||||
try:
|
||||
import systemd.daemon
|
||||
except ImportError:
|
||||
systemd = None
|
||||
|
||||
|
||||
|
||||
class Server:
|
||||
@ -102,6 +107,8 @@ class Server:
|
||||
while self._restart:
|
||||
self._restart = False
|
||||
try:
|
||||
if systemd:
|
||||
systemd.daemon.notify("STATUS=initializing")
|
||||
self._processCfg()
|
||||
except Exception:
|
||||
print(formatException(verbose=True))
|
||||
@ -112,6 +119,8 @@ class Server:
|
||||
for ifname, ifobj in self.interfaces.items():
|
||||
self.log.debug('starting thread for interface %r' % ifname)
|
||||
threads.append((ifname, mkthread(ifobj.serve_forever)))
|
||||
if systemd:
|
||||
systemd.daemon.notify("READY=1\nSTATUS=accepting requests")
|
||||
for ifname, t in threads:
|
||||
t.join()
|
||||
self.log.debug('thread for %r died' % ifname)
|
||||
|
Loading…
x
Reference in New Issue
Block a user