Skip to main content

Jettison functions with jetsam!

Project description

Jetsam

  • True daemonizer using native C calls
  • Currently only compatible with *nix file systems
  • Extra Paranoid Edition uses that double fork magic!

jetsam definition: floating debris ejected from a ship

C Extension

To showcase a C library being used as a native python module

Example

import time
import logging
import jetsam
from jetsam import daemon

# jetsam will log pids and errors from daemons
# to a single log file. It will also update the file
# with the current status of the daemon
#
#   function_name:pid:status
#
jetsam.set_logfile("user_daemon.log")  # defaults to /tmp/jetsam.log


@daemon
def func():
    logging.basicConfig(filename="func.log", level=logging.DEBUG, filemode="w")
    while True:
        time.sleep(1)
        logging.debug("I am running in my own interpreter!")


func()  # detachs from current interpreter each function immediately returns 

print("simulate long running process...")
time.sleep(3)

jetsam.end_daemon(func)

print("Eject and forget with jetsam!")

Project details


Download files

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

Source Distribution

jetsam-0.2.1.tar.gz (7.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page