Simplify sd_notify usage
This commit is contained in:
parent
fd7fa3116a
commit
503a8a8243
@ -37,9 +37,7 @@ class Worker:
|
||||
self._heartbeat_msg: float = 0
|
||||
|
||||
# Tell systemd that we completed initialization phase
|
||||
if self._sd_notify:
|
||||
logger.debug("sd_notify: READY=1")
|
||||
self._sd_notify.notify("READY=1")
|
||||
self._notify("READY=1")
|
||||
|
||||
def _init(self, reconfig: bool) -> None:
|
||||
"""
|
||||
@ -60,6 +58,15 @@ class Worker:
|
||||
self._sd_notify = sdnotify.SystemdNotifier() if \
|
||||
self._config.get('internals', {}).get('sd_notify', False) else None
|
||||
|
||||
def _notify(self, message: str) -> None:
|
||||
"""
|
||||
Removes the need to verify in all occurances if sd_notify is enabled
|
||||
:param message: Message to send to systemd if it's enabled.
|
||||
"""
|
||||
if self._sd_notify:
|
||||
logger.debug(f"sd_notify: {message}")
|
||||
self._sd_notify.notify(message)
|
||||
|
||||
def run(self) -> None:
|
||||
state = None
|
||||
while True:
|
||||
@ -89,17 +96,13 @@ class Worker:
|
||||
|
||||
if state == State.STOPPED:
|
||||
# Ping systemd watchdog before sleeping in the stopped state
|
||||
if self._sd_notify:
|
||||
logger.debug("sd_notify: WATCHDOG=1\\nSTATUS=State: STOPPED.")
|
||||
self._sd_notify.notify("WATCHDOG=1\nSTATUS=State: STOPPED.")
|
||||
self._notify("WATCHDOG=1\nSTATUS=State: STOPPED.")
|
||||
|
||||
self._throttle(func=self._process_stopped, throttle_secs=self._throttle_secs)
|
||||
|
||||
elif state == State.RUNNING:
|
||||
# Ping systemd watchdog before throttling
|
||||
if self._sd_notify:
|
||||
logger.debug("sd_notify: WATCHDOG=1\\nSTATUS=State: RUNNING.")
|
||||
self._sd_notify.notify("WATCHDOG=1\nSTATUS=State: RUNNING.")
|
||||
self._notify("WATCHDOG=1\nSTATUS=State: RUNNING.")
|
||||
|
||||
self._throttle(func=self._process_running, throttle_secs=self._throttle_secs)
|
||||
|
||||
@ -154,9 +157,7 @@ class Worker:
|
||||
replaces it with the new instance
|
||||
"""
|
||||
# Tell systemd that we initiated reconfiguration
|
||||
if self._sd_notify:
|
||||
logger.debug("sd_notify: RELOADING=1")
|
||||
self._sd_notify.notify("RELOADING=1")
|
||||
self._notify("RELOADING=1")
|
||||
|
||||
# Clean up current freqtrade modules
|
||||
self.freqtrade.cleanup()
|
||||
@ -167,15 +168,11 @@ class Worker:
|
||||
self.freqtrade.notify_status('config reloaded')
|
||||
|
||||
# Tell systemd that we completed reconfiguration
|
||||
if self._sd_notify:
|
||||
logger.debug("sd_notify: READY=1")
|
||||
self._sd_notify.notify("READY=1")
|
||||
self._notify("READY=1")
|
||||
|
||||
def exit(self) -> None:
|
||||
# Tell systemd that we are exiting now
|
||||
if self._sd_notify:
|
||||
logger.debug("sd_notify: STOPPING=1")
|
||||
self._sd_notify.notify("STOPPING=1")
|
||||
self._notify("STOPPING=1")
|
||||
|
||||
if self.freqtrade:
|
||||
self.freqtrade.notify_status('process died')
|
||||
|
Loading…
Reference in New Issue
Block a user