-
Place the supervisord.conf under .ebextensions/supervisor/
-
Place the supervisor.config under .ebextensions/
-
Place the data_import_consumer.conf under .ebextensions/supervisor/
-
-
Save amandiobm/319f11a7a1f4b3adf3aa4d1b14c85bc1 to your computer and use it in GitHub Desktop.
Install and use Supervisord with AWS Elastic Beanstalk, Symfony 2 and RabbitMq Bundle
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[program:data_import_consumer] | |
process_name= %(process_num)s | |
command= /usr/bin/php /var/app/current/api/app/console rabbitmq:multiple-consumer -m 30 import_data | |
autostart=true | |
autorestart=unexpected | |
stderr_logfile=/var/log/app/rabbitmq/data_import_consumer.err.log | |
stdout_logfile=/var/log/app/rabbitmq/data_import_consumer.out.log | |
numprocs=3 | |
exitcodes=1 | |
startsecs=0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
commands: | |
11install_supervisor: | |
test : '[ ! /etc/supervisor ] && echo "supervisor not installed"' | |
command: "easy_install supervisor" | |
container_commands: | |
14insert_supervisor_main_config: | |
command: ". /opt/elasticbeanstalk/support/envvars && cat .ebextensions/supervisor/supervisord.conf > /etc/supervisor/supervisord.conf" | |
leader_only: true | |
15insert_supervisor_main_config_to_etc: | |
command: ". /opt/elasticbeanstalk/support/envvars && cat .ebextensions/supervisor/supervisord.conf > /etc/supervisord.conf" | |
leader_only: true | |
16insert_data_import_supervisor_config: | |
command: ". /opt/elasticbeanstalk/support/envvars && cat .ebextensions/supervisor/data_import_consumer.conf > /etc/supervisor/conf.d/data_import_consumer.conf" | |
leader_only: true | |
files: | |
"/opt/elasticbeanstalk/hooks/appdeploy/post/490-supervisor_install.sh": | |
mode: "000755" | |
owner: root | |
group: root | |
content: | | |
#!/usr/bin/env bash | |
. /opt/elasticbeanstalk/support/envvars | |
if [ ! -f /usr/local/bin/supervisord ]; then | |
echo "install supervisor and create directories" | |
easy_install supervisor | |
else | |
echo "supervisor already installed" | |
fi | |
if [ ! -d /etc/supervisor ]; then | |
mkdir /etc/supervisor | |
echo "create supervisor directory" | |
fi | |
if [ ! -d /etc/supervisor/conf.d ]; then | |
mkdir /etc/supervisor/conf.d | |
echo "create supervisor configs directory" | |
fi | |
"/opt/elasticbeanstalk/hooks/appdeploy/post/500-supervisor_update.sh": | |
mode: "000755" | |
owner: root | |
group: root | |
content: | | |
#!/usr/bin/env bash | |
. /opt/elasticbeanstalk/support/envvars | |
if ps aux | grep -q "[/]usr/local/bin/supervisord"; then | |
echo "supervisor is running" | |
else | |
echo "start supervisor" | |
/usr/bin/python /usr/local/bin/supervisord --pidfile /var/run/supervisord.pid | |
fi | |
supervisorctl reread | |
supervisorctl update | |
cd /var/app/current/api | |
app/console rabbitmq:setup-fabric --env=$SYMFONY_ENV | |
echo "$(date +'%Y%m%d %T') Check for supervisor update" >> /var/log/directory-hooks-executor.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[unix_http_server] | |
file=/tmp/supervisor.sock ; (the path to the socket file) | |
[supervisord] | |
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log) | |
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) | |
logfile_backups=10 ; (num of main logfile rotation backups;default 10) | |
loglevel=info ; (log level;default info; others: debug,warn,trace) | |
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid) | |
nodaemon=false ; (start in foreground if true;default false) | |
minfds=1024 ; (min. avail startup file descriptors;default 1024) | |
minprocs=200 ; (min. avail process descriptors;default 200) | |
environment=SYMFONY_ENV=prod | |
[rpcinterface:supervisor] | |
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface | |
[supervisorctl] | |
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket | |
[include] | |
files = /etc/supervisor/conf.d/*.conf | |
[inet_http_server] | |
port = 9000 | |
username = user | |
password = pw |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment