Skip to main content

A Control System for Distributed Applications

Project description

Supvisors

PyPI version Build Status Coverage Status Documentation Status

Supvisors is a Control System for Distributed Applications, based on multiple instances of Supervisor.

The main features are:

  • a new web-based dashboard that replaces the default dashboard of Supervisor,
  • an extended XML-RPC API to control applications and multiple Supervisor instances,
  • the definition of a rules file to handle:
    • the starting sequence of the applications,
    • the stopping sequence of the applications,
    • the starting strategy of the processes,
    • the strategy to apply when a process crashes.

Image of Supvisors' Dashboard

Supervisor Enhancements

Supvisors proposes a fix to the following Supervisor issues:

Supported Platforms

Supvisors has been tested and is known to run on Linux (CentOS 8.3). It will likely work fine on most UNIX systems.

Supvisors will not run at all under any version of Windows.

Supvisors >= 0.2 works with Python 3.6 or later.

Supvisors 0.1 (available on PyPi) works with Python 2.7 (and former versions of Supervisor, i.e. 3.3.0) but is not maintained anymore.

Dependencies

Supvisors has dependencies on:

Package Release Optional
Supervisor 4.2.1
PyZMQ 20.0.0
psutil 5.7.3 X
netifaces 0.10.9 X
matplotlib 3.3.3 X
lxml 4.6.2 X

Please note that some of these dependencies may have their own dependencies.

Versions are given for information. Although Supvisors has been developed and tested with these releases, the minimal release of each dependency is unknown. Other releases are likely working as well.

Installation

Supvisors can be installed with pip install:

   # minimal install (including Supervisor and PyZMQ)
   [bash] > pip install supvisors

   # extra install for all optional dependencies
   [bash] > pip install supvisors[all]

Documentation

You can view the current Supvisors documentation here.

You will find detailed installation and configuration documentation.

Reporting Bugs and Viewing the Source Repository

Please report bugs in the Github issue tracker.

You can view the source repository for Supvisors.

Contributing

Not opened yet.

0.5 (2021-03-01)

  • New option 'force_synchro_if' to force the end of the synchronization phase when a subset of nodes are active

  • New starting strategy LOCAL added to command the starting of an application on the local node only

  • Fixed https://github.com/julien6387/supvisors/issues/87 Under particular circumstances, Supvisors could have multiple master nodes

  • Fixed https://github.com/julien6387/supvisors/issues/86 The starting and stopping sequences may fail and block when a sub-sequence includes only unstartable programs

  • Fixed https://github.com/julien6387/supvisors/issues/85 When using '#' in the Supvisors rules file, a subset of nodes can optionally be defined

  • Fixed https://github.com/julien6387/supvisors/issues/84 In the Supvisors rules file, program rules can be defined using both model reference and attributes

  • The Web UI uses the default starting strategy of the configuration file

  • The layout of Web UI statistics sections has been rearranged

  • Fixed CSS style missing for CHECKING node state in tables

  • Star added to the node box of the Master instance on the main page

  • Type annotations are added progressively in source code

  • Start switching from unittest to pytest

  • Logs (especially Debug and Trace) updated to avoid objects to be printed, which is quite unreadable

  • Documentation updated

0.4 (2021-02-14)

  • Auto-refresh button added to all pages

  • Web UI Main page reworked by adding a subdivision of application in node boxes

  • Fixed exception when exiting using Ctrl+c from shell

  • Fixed exception when rules files is not provided

  • Documentation updated

0.3 (2020-12-29)

0.2 (2020-12-14)

  • Migration to Python 3.6 Versions of dependencies are refreshed, more particularly supervisor 4.2.1

  • CSS of Web UI updated / simplified

  • New action added to Host Process page of WebUI 'tail -f stderr' button

  • New information actions added to Application page of WebUI 'description' field 'clear logs', 'tail -f stdout', 'tail -f stderr' buttons

  • Fixed https://github.com/julien6387/supvisors/issues/75 Supvisors takes into account username and password of inet_http_server in the supervisord section

  • Fixed https://github.com/julien6387/supvisors/issues/17 The user selections on the web UI are passed to the URL

  • Fixed https://github.com/julien6387/supvisors/issues/72 The extra arguments are shared between all Supvisors instances

  • Documentation formatting issues fixed

  • README.rst replaced with README.md

  • Coverage improved in tests

  • Docs target added to Travis-CI

0.1 (2017-08-11)

Initial release.

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

supvisors-0.5.tar.gz (302.0 kB view hashes)

Uploaded Source

Built Distribution

supvisors-0.5-py3-none-any.whl (360.2 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