All Projects → mybuilder → supervisor-bundle

mybuilder / supervisor-bundle

Licence: MIT license
Easily update your @Supervisor configuration by using annotations in Symfony commands.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to supervisor-bundle

SinchBundle
📦 Provides integration with Sinch.com SMS API.
Stars: ✭ 12 (-65.71%)
Mutual labels:  bundle, symfony-bundle
LexikMailerBundle
This Symfony2 bundle allow you to manage some HTML email templates stored in your database. Templates are written with Twig and use I18N. You can also create some layouts to decorate your email.
Stars: ✭ 81 (+131.43%)
Mutual labels:  bundle, symfony-bundle
awsBundle
Symfony AWS Bundle (supports Symfony 2, 3 and 4)
Stars: ✭ 18 (-48.57%)
Mutual labels:  bundle, symfony-bundle
NucleosDompdfBundle
📜 This bundle provides a wrapper for using dompdf inside symfony.
Stars: ✭ 29 (-17.14%)
Mutual labels:  bundle, symfony-bundle
AtoumBundle
This bundle provides a simple integration of atoum into Symfony 2.
Stars: ✭ 44 (+25.71%)
Mutual labels:  bundle, symfony-bundle
LiipSoapRecorderBundle
[DEPRECATED] Recorder/Player for SOAP communications
Stars: ✭ 12 (-65.71%)
Mutual labels:  bundle, symfony-bundle
socketio
No description or website provided.
Stars: ✭ 23 (-34.29%)
Mutual labels:  bundle, symfony-bundle
LiipImagineSerializationBundle
Provides integration between LiipImagineBundle and JMSSerializerBundle
Stars: ✭ 24 (-31.43%)
Mutual labels:  bundle, symfony-bundle
DynamicParametersBundle
[UNMAINTAINED] Runtime retrieval of parameters from environment variables for Symfony
Stars: ✭ 42 (+20%)
Mutual labels:  bundle, symfony-bundle
wordpress-bundle
Use Wordpress and Symfony together using a Symfony bundle
Stars: ✭ 30 (-14.29%)
Mutual labels:  bundle, symfony-bundle
connect-bundle
No description or website provided.
Stars: ✭ 35 (+0%)
Mutual labels:  bundle, symfony-bundle
SonataFormatterBundle
Symfony SonataFormatterBundle
Stars: ✭ 78 (+122.86%)
Mutual labels:  bundle, symfony-bundle
hashed-asset-bundle
Apply an asset version based on a hash of the asset for symfony/asset
Stars: ✭ 24 (-31.43%)
Mutual labels:  bundle, symfony-bundle
breadcrumb-bundle
Symfony bundle for easy breadcrumbs management
Stars: ✭ 26 (-25.71%)
Mutual labels:  bundle, symfony-bundle
jsonrpc-bundle
JSON-RPC server for Symfony: exposes services registered in the service container as JSON-RPC-webservices
Stars: ✭ 31 (-11.43%)
Mutual labels:  bundle, symfony-bundle
BeelabTagBundle
🏷 A simple implementation of tags for Symfony and Doctrine ORM
Stars: ✭ 45 (+28.57%)
Mutual labels:  bundle, symfony-bundle
stampie-bundle
stampie.github.io/
Stars: ✭ 26 (-25.71%)
Mutual labels:  bundle, symfony-bundle
SonataDoctrineMongoDBAdminBundle
Symfony Sonata / Integrate Doctrine MongoDB ODM into the SonataAdminBundle
Stars: ✭ 64 (+82.86%)
Mutual labels:  bundle, symfony-bundle
OpcacheBundle
Displays the PHP OPcache status in the Symfony profiler toolbar.
Stars: ✭ 21 (-40%)
Mutual labels:  bundle, symfony-bundle
vite-bundle
Integration with your Symfony app & Vite
Stars: ✭ 56 (+60%)
Mutual labels:  bundle, symfony-bundle

Supervisor Bundle

Build Status

A bundle for Symfony 3/4/5 which allows you to use @Supervisor annotations to configure how Supervisor runs your console commands.

Installation

Install with composer

Run the composer require command:

$ php composer.phar require mybuilder/supervisor-bundle

Enable the bundle

Enable the bundle in the app/AppKernel.php for Symfony 3:

public function registerBundles(): array
{
    return [
        new MyBuilder\Bundle\SupervisorBundle\MyBuilderSupervisorBundle(),
    ];
}

Enable the bundle in the config/bundles.php for Symfony 4/5:

return [
    MyBuilder\Bundle\SupervisorBundle\MyBuilderSupervisorBundle::class => ['all' => true],
];

Configure the bundle

You can add the following to your config.yml (Symfony 3) / packages/my_builder_supervisor.yaml (Symfony 4/5) to define your global export configuration.

my_builder_supervisor:
    exporter:
        # any Supervisor program options can be specified within this block
        program:
            autostart: 'true'
        
        # allows you to specify a program that all commands should be passed to
        executor: php 
        
        # allows you to specify the console that all commands should be passed to
        console: bin/console

Usage

The first step is to add the use case for the annotation to the top of the command you want to use the @Supervisor annotations in.

use MyBuilder\Bundle\SupervisorBundle\Annotation\Supervisor;

Then define the @Supervisor annotation within the command's PHPDoc, which tells Supervisor how to configure this program. The example below declares that three instances of this command should be running at all times on the server entitled 'web', with the provided parameter --send.

/**
 * Command for sending our email messages from the database.
 *
 * @Supervisor(processes=3, params="--send", server="web")
 */
class SendQueuedEmailsCommand extends Command {}

Exporting the Supervisor configuration

You should run bin/console supervisor:dump and review what the Supervisor configuration will look like based on the current specified definition. If you are happy with this you can write out the configuration to a conf file:

$ bin/console supervisor:dump --user=mybuilder --server=web > "/etc/supervisor.d/symfony.conf"

And then reload Supervisor:

$ kill -SIGHUP $(supervisorctl pid)

Environment

You can choose which environment you want to run the commands in Supervisor under like this:

$ bin/console supervisor:dump --server=web --env=prod

Created by MyBuilder - Check out our blog for more insight into this and other open-source projects we release.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].