Giter Site home page Giter Site logo

julien6387 / supvisors Goto Github PK

View Code? Open in Web Editor NEW
85.0 4.0 14.0 45.59 MB

Supvisors: A Control System for Distributed Applications

Home Page: http://supvisors.readthedocs.io

License: Apache License 2.0

Python 87.96% Shell 0.75% CSS 1.04% HTML 2.18% Java 8.07%
supervision distributed-systems application supervisor orchestration

supvisors's Introduction

Supvisors

PyPI version Python Versions License Build Status Coverage Status Documentation Status Downloads

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

Supvisors works as a Supervisor plugin and its main features are:

  • a new web-based dashboard that replaces the default dashboard of Supervisor and allows to control all the Supervisor instances declared,
  • an extended XML-RPC API to control applications and processes over the multiple Supervisor instances,
  • a notification interface to get the events from multiple Supervisor instances on a websocket or on a PyZmq socket.

A set of application and program rules can be added to manage:

  • 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 or when a node shuts down,
  • the strategy to apply when conflicts are detected.

The Supervisor program supervisorctl has been extended to include the additional XML-RPC API.

Also provided in the scope of this project:

  • a JAVA client with a full implementation of the Supervisor and Supvisors XML-RPC API ;
  • a Flask-RESTX application that exposes the Supervisor and Supvisors XML-RPC API through a REST API.

Image of Supvisors' Dashboard

Supervisor Enhancements

Supvisors proposes a contribution to the following Supervisor issues:

Supported Platforms

Supvisors has been tested and is known to run on Linux (Rocky 8.5, RedHat 8.2 and Ubuntu 20.04 LTS). It will likely work fine on most UNIX systems.

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

Supvisors works with Python 3.6 to Python 3.12.

Dependencies

Supvisors has dependencies on:

Package Optional Minimal release
Supervisor 4.2.4
psutil X 5.7.3
matplotlib X 3.3.3
lxml X 4.6.2
Flask-RESTX X 0.5.1 (py36), 1.1.0 (py37+)
PyZMQ X 20.0.0
websockets X 10.2 (py37+)

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 only Supervisor and its dependencies)
   [bash] > pip install supvisors

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

Documentation

You can view the current Supvisors documentation on Read the Docs.

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.