Skip to main content

Minimal job monitor for multi-threaded Python applications

Project description

Description

minjob is a simple, purely Python library which allows to monitor Python threads and processes. It restarts the processes it monitors when a fatal exception occurs and can smoothly terminate them.

This small library provides a simple way for dealing with fatal exceptions when running simple multi-thread/multi-process applications with high availability requirements such as market trading bots.

By default the library will print the logs of the failed jobs at {HOME}/.minjob.log.

Installation and Usage

Install the library within your favorite virtual environment or locally using:

pip install minjob

A simple usage of the library for adding a monitored process and thread goes like this:

from minjob.jobs import JobManager

def my_thread_func():
    do_some_work()

def my_process_func():
    do_other_work()

manager = JobManager(name="MyManager")
manager.add_process("MyProcess", target=my_process_func, daemonize=True)
manager.add_thread("MyThread", target=my_thread_func, daemonize=True)

# start all monitored jobs
manager.start_all()

# stop all jobs
manager.stop_all()

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

minjob-0.1.0.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

minjob-0.1.0-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

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