Skip to main content

A control script for supervisor's - the Papa (german Dad) of supervisors.

Project description

papavisor

A control script for supervisor’s - the Papa (german Dad) of supervisors.

With papavisor you can:

  • Get the status of all supervisors one a machine (you can configure remote supervisor though).

  • Start/stop/restart grouped supervisor programs with priorities and startsecs in between.

  • Talk to multiple supervisors in parallel (by using asyncio).

  • apapavisor finds supervisord.cfg files himself - no need to configure each instance.

Requirements

  • Unix like System

  • Python >3.4.0

Install

papavisor is available over pypi:

$ pip3 install papavisor

Configuration

On the first start papavisor copies config files to ~/.config/papavisor/ if theres no /etc/papavisor directory. Papavisor reads all .json files sorted and merges them into one big configuration OrderedDict.

papavisor files:

  • 00_default.json - Contains the defaults for each project, they will get copied and then overwritten by the per project values.

  • 01_template.json - An template for “manual” project witch overwrites the defaults above.

apapavisor - The Auto papavisor reads apapavisor.sh only.

Usage

When you install this package you get two excecutables:

  • papavisor - The supervisord control script.

  • apapavisor - A wrapper witch searches for supervisord.conf files and passes them to papavisor, its the Auto papavisor as you need nearly no configuration for that.

General usage:

$ (a)papavisor [project-or-all] [action] [group-or-program]

The default is:

$ (a)papavisor all status all

For example, to restart all zope instances:

$ apapavisor all restart zopes

To restart all python stuff on project ploneconf:

$ apapavisor plonec restart python

All actions:

$ apapvaisor <project-or-all> status <group-or-program>
$ apapavisor <project-or-all> start <group-or-program>
$ apapavisor <project-or-all> stop <group-or-program>
$ apapavisor <project-or-all> restart <group>

Authors

License

papavisor is licensed under the MIT license.

Contribute

Support

If you are having issues, please let us know.

Changelog

0.0.1a2 (2016-02-10)

  • Fix package installation, move config to ~/.config.

  • Add texttable for the status output and psutil for memory info. [pcdummy]

  • Link pypi, cleanup main(). [pcdummy]

  • Use argparser and smaller bugfixes. [pcdummy]

  • Use sys.prefix for config files. [pcdummy]

  • Added support for connecting to ‘unix://’ sockets. [pcdummy]

  • Add an option ‘enable’ to disable projects. [pcdummy]

  • README.rst, papavisor is available over pip. [pcdummy]

  • Fix “python3 setup.py develop”. [pcdummy]

0.0.1a (2016-02-10)

  • papavisor was born. [pcdummy]

Supported by

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