Skip to main content

Runs Python application in a fault-tolerant environment, continually rebooting after unexpected exceptions

Project description

app_manager

Runs Python application in a fault-tolerant environment, continually rebooting after unexpected exceptions.

  • Uses Python3 standard library packages only
  • app_manager.py contains AppManager class

examples

running your app in the AppManager is simple

import ApplicationClass
from app_manager import AppManager

app = ApplicationClass()
AppManager(app.run, run_limit = None) # set run_limit to positive integer to run application at most n times
''' Exceptions will be printed to the console '''

alternatively, you can pass in your app's logger so that exceptions appear in your log output

from application_package import ApplicationClass, logger
from app_manager import AppManager

app = ApplicationClass()
AppManager(app.run, logger = logger)
''' Exceptions will be printed to the console and logged with the supplied logger'''

each instance of AppManager runs in its own process, so multiple application components can be launched successively

from application_package import AppMainClass, main_logger
from background_package import BackgroundAppClass, bg_logger
from app_manager import AppManager

app = AppMainClass()
comp = BackgroundAppClass()
AppManager(app.run, logger = main_logger)
AppManager(comp.run, logger = bg_logger)

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

app_manager-0.0.0.1.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

app_manager-0.0.0.1-py3-none-any.whl (6.7 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