{"id":15045074,"url":"https://github.com/phobetor/rabbitmq-supervisor-bundle","last_synced_at":"2025-04-04T20:10:28.754Z","repository":{"id":448205,"uuid":"22348792","full_name":"Phobetor/rabbitmq-supervisor-bundle","owner":"Phobetor","description":"Symfony bundle to automatically create and update supervisor configurations for RabbitMQ consumer daemons","archived":false,"fork":false,"pushed_at":"2023-06-23T14:53:39.000Z","size":134,"stargazers_count":104,"open_issues_count":8,"forks_count":44,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-28T19:07:33.310Z","etag":null,"topics":["daemon","php","rabbitmq","supervisor-configuration","symfony","worker-configuration"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Phobetor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-07-28T16:01:27.000Z","updated_at":"2024-05-29T03:51:13.000Z","dependencies_parsed_at":"2023-07-05T15:03:27.444Z","dependency_job_id":null,"html_url":"https://github.com/Phobetor/rabbitmq-supervisor-bundle","commit_stats":{"total_commits":116,"total_committers":22,"mean_commits":"5.2727272727272725","dds":0.5689655172413793,"last_synced_commit":"403658fa88c1eb34becf73fd18d656d8d04a3dab"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phobetor%2Frabbitmq-supervisor-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phobetor%2Frabbitmq-supervisor-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phobetor%2Frabbitmq-supervisor-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phobetor%2Frabbitmq-supervisor-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Phobetor","download_url":"https://codeload.github.com/Phobetor/rabbitmq-supervisor-bundle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247242678,"owners_count":20907134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daemon","php","rabbitmq","supervisor-configuration","symfony","worker-configuration"],"created_at":"2024-09-24T20:51:25.490Z","updated_at":"2025-04-04T20:10:28.733Z","avatar_url":"https://github.com/Phobetor.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"RabbitMQ supervisor bundle\n==========================\n\n[![Latest Stable Version](https://poser.pugx.org/phobetor/rabbitmq-supervisor-bundle/v/stable.png)](https://packagist.org/packages/phobetor/rabbitmq-supervisor-bundle) [![License](https://poser.pugx.org/phobetor/rabbitmq-supervisor-bundle/license.png)](https://packagist.org/packages/phobetor/rabbitmq-supervisor-bundle)\n\nSymfony bundle to automatically create and update [supervisor](http://supervisord.org/) configurations for `php-amqplib/rabbitmq-bundle` (and its predecessor `oldsound/rabbitmq-bundle`) RabbitMQ consumer daemons.\n\n## In a nutshell | tl;dr\n\nIf you use `php-amqplib/rabbitmq-bundle` to handle the communication with RabbitMQ, just install [supervisor](http://supervisord.org/), add this bundle and run\n```sh\n$ app/console rabbitmq-supervisor:rebuild\n```\nto get a running `supervisord` instance that automatically manages all your consumer daemons.\nWhen your worker configuration or your code changes, run the command again and all the daemons will be updated.\n\n## Installation\n\nInstall [supervisor](http://supervisord.org/). e. g. on debian based distributions via `apt-get`:\n```sh\n# apt-get install supervisor\n```\n\nAdd bundle via composer\n```sh\n$ php composer require phobetor/rabbitmq-supervisor-bundle\n```\nThis will install the bundle to your project’s `vendor` directory.\n\nIf your are not using Symfony Flex, also add the bundle to your project’s `AppKernel`:\n```php\n// app/AppKernel.php\n\npublic function registerBundles()\n{\n    $bundles = [\n        // […]\n        new Phobetor\\RabbitMqSupervisorBundle\\RabbitMqSupervisorBundle(),\n    ];\n}\n```\n\nSymfony 5:\n\n```php\n// config/bundles.php\nreturn [\n    ...\n    Phobetor\\RabbitMqSupervisorBundle\\RabbitMqSupervisorBundle::class =\u003e [\"all\" =\u003e true],\n    ...\n];\n\n```\n\n## Zero Configuration\n\nRabbitMQ supervisor bundle works out of the box with a predefined configuration. If you leave it this way you will end\nup with this directory structure:\n```sh\nsupervisor/\n└── dev\n    ├── logs\n    │   ├── stderr.log\n    │   └── stdout.log\n    ├── supervisord.conf\n    ├── supervisord.log\n    ├── supervisor.pid\n    ├── supervisor.sock\n    └── worker\n        ├── queue1.conf\n        ├── queue2.conf\n        ├── queue3.conf\n        └── queue4.conf\n```\nIn symfony 2 and 3 this will be placed inside your `app/` directory.\n\nCaution with symfony 4: to not have this inside of your `src/` directory you need to set the paths to suit your needs.\nE. g. to use the standard structure inside of the `var/` directory, use this:\n```yml\nrabbit_mq_supervisor:\n    paths:\n        workspace_directory:            \"%kernel.project_dir%/var/supervisor/%kernel.environment%/\"\n        configuration_file:             \"%kernel.project_dir%/var/supervisor/%kernel.environment%/supervisord.conf\"\n        pid_file:                       \"%kernel.project_dir%/var/supervisor/%kernel.environment%/supervisor.pid\"\n        sock_file:                      \"%kernel.project_dir%/var/supervisor/%kernel.environment%/supervisor.sock\"\n        log_file:                       \"%kernel.project_dir%/var/supervisor/%kernel.environment%/supervisord.log\"\n        worker_configuration_directory: \"%kernel.project_dir%/var/supervisor/%kernel.environment%/worker/\"\n        worker_output_log_file:         \"%kernel.project_dir%/var/supervisor/%kernel.environment%/logs/stdout.log\"\n        worker_error_log_file:          \"%kernel.project_dir%/var/supervisor/%kernel.environment%/logs/stderr.log\"\n```\n\n## Advanced configuration\n\nTo see all configuration options run\n```sh\n$ console config:dump-reference RabbitMqSupervisorBundle\n```\n\n### BC break when updating from v1.* to v2.*\nIf you used custom commands before version 2.0, you need to update them. In most case you can just remove everything\nafter the command name.\n\n### BC break when updating from v2.* to v3.*\nCommands will by default no longer wait for `supervisord` to complete. If you need this (e. g. to get feedback on\nerrors) use the `--wait-for-supervisord` option.\n\n## Usage\n\nBuild or rebuild the supervisor and worker configuration and start the daemon:\n```sh\n$ console rabbitmq-supervisor:rebuild\n```\n\nControl the supervisord daemon:\n```sh\n$ console rabbitmq-supervisor:control stop\n$ console rabbitmq-supervisor:control start\n$ console rabbitmq-supervisor:control restart\n$ console rabbitmq-supervisor:control hup\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphobetor%2Frabbitmq-supervisor-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphobetor%2Frabbitmq-supervisor-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphobetor%2Frabbitmq-supervisor-bundle/lists"}