Download the PHP package pierotto/supervisor without Composer
On this page you can find all versions of the php package pierotto/supervisor. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pierotto/supervisor
More information about pierotto/supervisor
Files in pierotto/supervisor
Package supervisor
Short Description Symfony extension for generating configuration of supervisor programs.
License MIT
Informations about the package supervisor
Supervisor Bundle
The Supervisor Bundle is a Symfony extension that simplifies the generation of supervisor program configurations.
Requirements
- PHP 8.4+
- Symfony 6.4, 7.4, or 8.x
Version compatibility
| Bundle version | PHP | Symfony |
|---|---|---|
| 3.x | 8.4+ | 6.4, 7.4, or 8.x |
| 2.x | 8.1+ | 6.x or 7.x |
Version 3.0 drops support for PHP versions below 8.4 and for Symfony versions older than 6.4.
Version 3.1 adds the optional group option, which wraps all generated programs in a supervisor
process group.
About
This bundle takes your configuration and generates a supervisor.conf file containing the specified programs, along with their settings. You have the flexibility to choose the path and filename for this file.
Installation
To get started, require the bundle and its dependencies using Composer:
Then, register the bundle in your Symfony application:
Usage
You can add this configuration to your Symfony project under config/packages/supervisor.yaml.
To configure programs that you want to run via supervisord, follow these steps:
- In your Symfony configuration, define all the programs you wish to manage with Supervisor.
- Use the console command to generate the supervisor.conf file:
This will generate a flat supervisor.conf file that can be directly included in your system's Supervisor configuration. It is recommended to run this command as part of your deployment process to ensure the generated configuration is always up to date.
Here's an example configuration in YAML format:
Process groups
On a server that runs several projects under one shared supervisord, supervisorctl stop all and
supervisorctl reload hit every project at once. Setting group wraps the generated programs in a
supervisor process group, so a
deployment can address only its own processes:
generates:
The processes are then addressed as myapp:worker, and a deployment can restart just that group
without touching the other projects on the machine:
Note that supervisorctl reload restarts the whole supervisord daemon and therefore every project
on the machine; reread + update <group> is the group-scoped equivalent. Targeting update at a
group name requires supervisor 3.2 or newer.
group and prefix are independent, but combining them is redundant — the group already namespaces
the program names. Use one or the other, otherwise you end up with myapp:myapp_worker.
Renaming existing programs
Adding group to a project that already runs under supervisor renames its processes from worker
(or myapp_worker) to myapp:worker. A group-scoped supervisorctl update myapp will not remove
the old, ungrouped programs, because they are not part of that group. Stop them by their old names
once and run an unscoped supervisorctl reread && supervisorctl update; that only restarts groups
whose configuration actually changed, so the other projects on the machine stay untouched.
All versions of supervisor with dependencies
symfony/dependency-injection Version ^6.4 || ^7.4 || ^8.0
symfony/console Version ^6.4 || ^7.4 || ^8.0
symfony/config Version ^6.4 || ^7.4 || ^8.0
symfony/http-kernel Version ^6.4 || ^7.4 || ^8.0