From 766a5c0c3f15007a4aa442bf54c9082910fb7472 Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Wed, 8 May 2019 13:10:52 -0400 Subject: [PATCH] remove honcho in the dev environment (just use foregrounded supervisor) using supervisor gives us the ability to restart entire processes on code change (like the dispatcher and callback receiver) --- Makefile | 12 ++---------- docs/websockets.md | 1 - tools/clusterdevel/bootstrap_minishift.sh | 7 +------ tools/docker-compose/Dockerfile | 2 +- tools/docker-compose/Procfile | 7 ------- tools/docker-compose/start_development.sh | 7 +------ tools/docker-compose/supervisor.conf | 4 ++++ 7 files changed, 9 insertions(+), 31 deletions(-) delete mode 100644 tools/docker-compose/Procfile diff --git a/Makefile b/Makefile index 0cfa6d8bb5f7..faa5fd461339 100644 --- a/Makefile +++ b/Makefile @@ -269,15 +269,7 @@ supervisor: @if [ "$(VENV_BASE)" ]; then \ . $(VENV_BASE)/awx/bin/activate; \ fi; \ - supervisord --pidfile=/tmp/supervisor_pid - -# Alternate approach to tmux to run all development tasks specified in -# Procfile. -honcho: - @if [ "$(VENV_BASE)" ]; then \ - . $(VENV_BASE)/awx/bin/activate; \ - fi; \ - honcho start -f tools/docker-compose/Procfile + supervisord --pidfile=/tmp/supervisor_pid -n collectstatic: @if [ "$(VENV_BASE)" ]; then \ @@ -289,7 +281,7 @@ uwsgi: collectstatic @if [ "$(VENV_BASE)" ]; then \ . $(VENV_BASE)/awx/bin/activate; \ fi; \ - uwsgi -b 32768 --socket 127.0.0.1:8050 --module=awx.wsgi:application --home=/venv/awx --chdir=/awx_devel/ --vacuum --processes=5 --harakiri=120 --master --no-orphans --py-autoreload 1 --max-requests=1000 --stats /tmp/stats.socket --lazy-apps --logformat "%(addr) %(method) %(uri) - %(proto) %(status)" --hook-accepting1="exec:awx-manage run_dispatcher --reload" + uwsgi -b 32768 --socket 127.0.0.1:8050 --module=awx.wsgi:application --home=/venv/awx --chdir=/awx_devel/ --vacuum --processes=5 --harakiri=120 --master --no-orphans --py-autoreload 1 --max-requests=1000 --stats /tmp/stats.socket --lazy-apps --logformat "%(addr) %(method) %(uri) - %(proto) %(status)" --hook-accepting1="exec:supervisorctl restart tower-processes:awx-dispatcher tower-processes:awx-receiver" daphne: @if [ "$(VENV_BASE)" ]; then \ diff --git a/docs/websockets.md b/docs/websockets.md index 42b456bbc548..2a2f21f0a438 100644 --- a/docs/websockets.md +++ b/docs/websockets.md @@ -64,4 +64,3 @@ by the *daphne* server and our *asgi_amqp* implementation to broadcast messages ### Development - nginx listens on 8013/8043 instead of 80/443 - - uwsgi, daphne, and runworker are started with honcho instead of supervisord diff --git a/tools/clusterdevel/bootstrap_minishift.sh b/tools/clusterdevel/bootstrap_minishift.sh index d5536664a61d..4cb69e881fba 100755 --- a/tools/clusterdevel/bootstrap_minishift.sh +++ b/tools/clusterdevel/bootstrap_minishift.sh @@ -27,9 +27,4 @@ mkdir -p /awx_devel/awx/public/static mkdir -p /awx_devel/awx/ui/static cd /awx_devel -# Start the services -if [ -f "/awx_devel/tools/docker-compose/use_dev_supervisor.txt" ]; then - make supervisor -else - honcho start -f "tools/docker-compose/Procfile" -fi +make supervisor diff --git a/tools/docker-compose/Dockerfile b/tools/docker-compose/Dockerfile index 248d2beda7cb..764414b7e077 100644 --- a/tools/docker-compose/Dockerfile +++ b/tools/docker-compose/Dockerfile @@ -19,7 +19,7 @@ RUN python3 -m ensurepip RUN pip3 install virtualenv RUN /usr/bin/ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa RUN mkdir -p /data/db -RUN pip3 install honcho && pip install supervisor +RUN pip install supervisor ADD requirements/requirements.txt \ requirements/requirements_git.txt \ diff --git a/tools/docker-compose/Procfile b/tools/docker-compose/Procfile deleted file mode 100644 index 033a0e8eb041..000000000000 --- a/tools/docker-compose/Procfile +++ /dev/null @@ -1,7 +0,0 @@ -nginx: make nginx -runworker: make runworker -daphne: make daphne -dispatcher: make dispatcher -receiver: make receiver -uwsgi: make uwsgi -jupyter: make jupyter diff --git a/tools/docker-compose/start_development.sh b/tools/docker-compose/start_development.sh index b6455de131bd..c39b9f507fc0 100755 --- a/tools/docker-compose/start_development.sh +++ b/tools/docker-compose/start_development.sh @@ -5,9 +5,4 @@ set +x cd /awx_devel # Start the services -if [ -f "/awx_devel/tools/docker-compose/use_dev_supervisor.txt" ]; then - make supervisor -else - export PYTHONIOENCODING=utf_8 - honcho start -f "tools/docker-compose/Procfile" -fi +make supervisor diff --git a/tools/docker-compose/supervisor.conf b/tools/docker-compose/supervisor.conf index c658e2689d07..6a6b71151cdd 100644 --- a/tools/docker-compose/supervisor.conf +++ b/tools/docker-compose/supervisor.conf @@ -32,6 +32,10 @@ command = make uwsgi autostart = true autorestart = true redirect_stderr=true +stopwaitsecs = 1 +stopsignal=KILL +stopasgroup=true +killasgroup=true stdout_logfile=/dev/fd/1 stdout_logfile_maxbytes=0