mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* Handle more signals * Flush buffers before exiting process This ensures log messages aren't lost * Restart process before jobs have finished If there is a very log running job it can cause service restart to take over 5 minutes. We tweak the order of things to make sure that running processes continue, but nothing more is scheduled. The worst case impact is that a pollling/discovery job gets scheduled twice, but this should not be a big issue - this should only occur at most once per day. * Remove python 3.8 feature * Ensure that processes from the previous invocation are reaped * Correct typo's * Attach subprocess descriptors to /dev/null Occasionally, PHP would throw a fit and crash when its stdout went away. To avoid this, we attach stdout to devnull. This means we lost output of daily.sh - but this is already recorded in $LOGDIR/daily.log * Don't immediately schedule long running jobs To avoid the situation where the maintenance reload happens or a sighup, then a second long running job is immediately started, we wait (`last_[poll/discovery]_timetaken` * 1.25) seconds before scheduling any jobs. * Add `psutil` to requirements * Add support for "systemctl reload" to the unit files * Add a fallback for systems that don't have psutil * Reduce CPU load when psutil is not installed * Don't avoid double polling by extending the timeout This shouldn't happen due to locks * Remove fallback option * Remove extra variable * Fix issue introduced during rebase * Fix issue introduced when fixing issue introduced during rebase * Make psutil optional
16 lines
323 B
Plaintext
16 lines
323 B
Plaintext
[Unit]
|
|
Description=LibreNMS SNMP Poller Service
|
|
After=network.target
|
|
|
|
[Service]
|
|
ExecStart=/usr/bin/scl enable rh-python36 -- /opt/librenms/librenms-service.py -v
|
|
ExecReload=/bin/kill -HUP $MAINPID
|
|
WorkingDirectory=/opt/librenms
|
|
User=librenms
|
|
Group=librenms
|
|
RestartSec=2
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|