Lightweight Python module for daemonizing
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file succubus-1.0.post227.tar.gz
.
File metadata
- Download URL: succubus-1.0.post227.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1d9fff328abeba72dc6b3fcdebdc998b3775214118bb5f5e2cd41d2bf7e1881 |
|
MD5 | 33b9a279e991ba1b3a49d07886c9ffc0 |
|
BLAKE2b-256 | 5cdf33996fdcf8c756d8e3cf2b65eefa8653ed34c06b0947305856e56601e040 |