PHPackages                             pmiroslawski/supervisor-controller-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. pmiroslawski/supervisor-controller-bundle

ActiveSymfony-bundle[Queues &amp; Workers](/categories/queues)

pmiroslawski/supervisor-controller-bundle
=========================================

PHP Symfony Bundle which manage of supervisor processes

v1.3.1(4y ago)127MITPHPPHP &gt;7.4

Since Aug 24Pushed 4y ago1 watchersCompare

[ Source](https://github.com/pmiroslawski/supervisor-controller-bundle)[ Packagist](https://packagist.org/packages/pmiroslawski/supervisor-controller-bundle)[ Docs](https://github.com/pmiroslawski/supervisor-controller-bundle)[ RSS](/packages/pmiroslawski-supervisor-controller-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (8)Versions (8)Used By (0)

PHP Supervisor Controller Bundle
================================

[](#php-supervisor-controller-bundle)

Symfony bundle which manages supervisor processes automatically based on given thresholds configuration. Bundle is implemented using the [helppc/supervisor-bundle](https://github.com/helppc/supervisor-bundle) library.

Example of use
--------------

[](#example-of-use)

Check this: [pmiroslawski/supervisor-controller-demo](https://github.com/pmiroslawski/supervisor-controller-demo) to see the bundle in action.

Requirements
------------

[](#requirements)

- [PHP 7.4](http://php.net/releases/7_4_0.php) or greater
- [Symfony 5.x](https://symfony.com/roadmap/5.0)

Installation
------------

[](#installation)

1. Require the bundle and a PSR 7/17 implementation with Composer:

    ```
    composer require pmiroslawski/supervisor-controller-bundle
    ```
2. Create the bundle configuration file under `config/packages/bit9_supervisor_controller.yaml`. Here is a reference configuration file:

    ```
    bit9_supervisor_controller:
    queues:
       - name: messages
         consumer: message_consumer
         numprocs: 50               # run 50 if more than 10000
         thresholds:
            - messages: 100         # run 3 processes if less than 100 elements in queue
              num: 3
            - messages: 1000        # run 5 processes if less than 1000 elements in queue
              num: 5
            - messages: 10000       # run 10 processes if less than 10000 elements in queue
              num: 10
    ```
3. Enable the bundle in `config/bundles.php` by adding it to the array:

    ```
    Bit9\SupervisorControllerBundle\Bit9SupervisorControllerBundle::class => ['all' => true],
    ```

Usage
-----

[](#usage)

The bundle provides an extra public service which can number of processes for spcified queue

```
    Bit9\SupervisorControllerBundle\Service\Queue\Monitor

```

That service has only one method `execute` which get as arguments name of the queue and current number of messages in given queue. Base on thresholds defined in configuration for specified queue service starting extra processes or stoping already running one which consume a given queue.

Above service has been implemented in `supervisor:queue:monitor` command also delivered in this bundle.

Additionally, bundle provides bunch of extra commands in supervisor namespace which can help to manage configuration and let you easy execute basic commands:

```
    supervisor-controller
    supervisor-controller:program:status   Get the supervisor program prcocesses statuses
    supervisor-controller:program:update   Run given number of processes for specified program
    supervisor-controller:queue:check      Check a specified queue to see number of elements.
    supervisor-controller:queue:conductor  Command run/stop some number of processes based on passed queue's elements number.
    supervisor-controller:queue:config     Get configuration for the given queue name
    supervisor-controller:queue:watchdog   Command checks queue and passed readed number of elements into queue conductor.

```

Events
------

[](#events)

The bundle provides events and dispatches them in some specified situations. There are two groups of events

When bundle does start/stop processes, one of the below events is dispatching:

```
    Bit9\SupervisorControllerBundle\Event\ProcessesStartedEvent
    Bit9\SupervisorControllerBundle\Event\ProcessesStoppedEvent

```

Both of them contain:

- consumer name (the group name)
- number of started/stopped processes
- total number of running processes (after operation)

When bundle does start/stop a specified single process, one of the below events is dispatching:

```
    Bit9\SupervisorControllerBundle\Event\ProcessStartedEvent
    Bit9\SupervisorControllerBundle\Event\ProcessStoppedEvent

```

Both of them contain:

- exact process name (the same as in supervisor)
- timestamp of started/stopped given process

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

6

Last Release

1719d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7cb804681fed31b7dddb5e1e2f47edec64a611d215917aaeec3ac19065878e99?d=identicon)[pmiroslawski](/maintainers/pmiroslawski)

---

Top Contributors

[![pmiroslawski](https://avatars.githubusercontent.com/u/2961647?v=4)](https://github.com/pmiroslawski "pmiroslawski (47 commits)")

---

Tags

phprabbitmqsupervisorsymfony-bundlesupervisorsupervisordsupervisorctl

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/pmiroslawski-supervisor-controller-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/pmiroslawski-supervisor-controller-bundle/health.svg)](https://phpackages.com/packages/pmiroslawski-supervisor-controller-bundle)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M648](/packages/sylius-sylius)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k12.4M193](/packages/simplesamlphp-simplesamlphp)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[contao/core-bundle

Contao Open Source CMS

1231.6M2.3k](/packages/contao-core-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
