Skip to main content
Travis build status image Coverage status

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

succubus-1.0.post245.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file succubus-1.0.post245.tar.gz.

File metadata

File hashes

Hashes for succubus-1.0.post245.tar.gz
Algorithm Hash digest
SHA256 41316cb36fd5ef4303bb0e11479c70f16ba3c19a68a2cbff8883dd8a46e9931f
MD5 94001d89f20cf43e340a87ddac3bdf59
BLAKE2b-256 e0e8fd1cca9b87f875352aee3a1097a19f59d0d90ec642b45c66315725f4ab81

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page