setono / deployer-supervisor
Handle supervisor configs in your deployment
Installs: 15 578
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 4
Open Issues: 0
Requires
- php: >=7.4
- deployer/deployer: ^6.8
- symfony/finder: ^4.4 || ^5.4 || ^6.0
- webmozart/assert: ^1.11
Requires (Dev)
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.18
- setono/code-quality-pack: ^2.4
README
Installation
composer require setono/deployer-supervisor
Usage
In your deploy.php
file require the recipe:
<?php namespace Deployer; require_once 'recipe/setono_supervisor.php'; // ...
This will automatically hook into the default flow of Deployer.
Then create a config file in etc/supervisor
(in your repository) like so:
;etc/supervisor/service1.conf [program:service1] command={{bin/php}} {{bin/console}} messenger:consume async user={{http_user}} autostart=true autorestart=true
Notice that you can use Deployer's parameters within your config file!
Add delay before (re)starting a service
;etc/supervisor/service1.conf [program:service1] command=bash -c "sleep 10 && exec {{bin/php}} {{bin/console}} messenger:consume async" user={{http_user}} autostart=true autorestart=true startsecs=15
In this example we insert a delay of 10 seconds before running the actual command and we changed the startsecs
to 15 (5 seconds more than the delay) so that supervisor doesn't count the process as running before after 15 seconds.