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.post221.tar.gz (4.6 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for succubus-1.0.post221.tar.gz
Algorithm Hash digest
SHA256 c7a5a60ad5a9b9190cf4bfb36af8b3859ed35288da013064a0c02fcd13199c67
MD5 a0ad14a1934b292efcd03e79e91a6bce
BLAKE2b-256 5b7a8c59bb8703a59caa8e42a99a383a61eabcbd24f8f73fe6bca7ff9da44b91

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