Skip to content

stigok/sd-notify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sd_notify

Simple sd_notify(3) client functionality implemented in Python 3.

Install

$ pip install sd-notify

Usage

import sd_notify

notify = sd_notify.Notifier()
if not notify.enabled():
    # Then it's probably not running is systemd with watchdog enabled
    raise Exception("Watchdog not enabled")

# Report a status message
notify.status("Initialising my service...")
time.sleep(3)

# Report that the program init is complete
notify.ready()
notify.status("Waiting for web requests...")
time.sleep(3)

# Report an error to the service manager
notify.notify_error("An irrecoverable error occured!")
# The service manager will probably kill the program here
time.sleep(3)

Reference

<class 'sd_notify.Notifier'>

_send(msg)

Send string msg as bytes on the notification socket

enabled()

Return a boolean stating whether watchdog is enabled

notify()

Report a healthy service state

notify_error(msg=None)

Report a watchdog error. This program will likely be killed by the service manager.

If msg is not None, it will be reported as an error message to the service manager.

ready()

Report ready service state, i.e. completed initialisation

status(msg)

Set a service status message

Author

stig@stigok.com Dec 2019

License

See LICENSE file