succubus
Description
succubus is a lightweight python module for a fast and easy creation of python daemons and init scripts.
Examples
#!/usr/bin/env python
import logging
import sys
import time
from logging.handlers import WatchedFileHandler
from succubus import Daemon
class MyDaemon(Daemon):
def run(self):
"""Overwrite the run function of the Daemon class"""
while True:
time.sleep(1)
self.logger.warn('Hello world')
def setup_logging(self):
# TODO: don't log to /tmp except for example code
handler = WatchedFileHandler('/tmp/succubus.log')
self.logger = logging.getLogger('succubus')
self.logger.addHandler(handler)
def main():
daemon = MyDaemon(pid_file='succubus.pid')
sys.exit(daemon.action())
if __name__ == '__main__':
main()
Succubus implements the usual init script actions (start, stop, restart, status) in Python. So your init script can look like this:
#!/bin/bash
/usr/bin/my_succubus_daemon $1 --foo=42
If the init script is called as /etc/init.d/my_succubus_daemon start, this will translate into /usr/bin/my_succubus_daemon start --foo=42 being called. The start parameter is consumed by the succubus framework, i.e. when your code does the command line parsing, it looks as if /usr/bin/my_succubus_daemon --foo=42 was called. You can now parse the --foo=42 parameter as you please.
Release files for succubus 1.0.post220
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| succubus-1.0.post220.tar.gz | 4.5 kB | Details |
Release files / succubus-1.0.post220.tar.gz
| Download URL | succubus-1.0.post220.tar.gz |
|---|---|
| Size | 4.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eedcd06d92eb4c8d336e09eadc695911a80743b8df4876310fbe9837c8e16080
|
|
BLAKE2b-256 checksum How to use checksums |
05121fb30e388a713af0931996ea31eb34d58313bc5058dda6095bf6104983f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |