diff --git a/Makefile b/Makefile index a78e666ee779..50e3f7c77d44 100644 --- a/Makefile +++ b/Makefile @@ -216,8 +216,6 @@ collectstatic: fi; \ $(PYTHON) manage.py collectstatic --clear --noinput > /dev/null 2>&1 -DEV_RELOAD_COMMAND ?= supervisorctl restart tower-processes:* - uwsgi: collectstatic @if [ "$(VENV_BASE)" ]; then \ . $(VENV_BASE)/awx/bin/activate; \ @@ -225,7 +223,7 @@ uwsgi: collectstatic uwsgi /etc/tower/uwsgi.ini awx-autoreload: - @/awx_devel/tools/docker-compose/awx-autoreload /awx_devel/awx "$(DEV_RELOAD_COMMAND)" + @/awx_devel/tools/docker-compose/awx-autoreload /awx_devel/awx daphne: @if [ "$(VENV_BASE)" ]; then \ diff --git a/tools/ansible/roles/dockerfile/templates/supervisor_rsyslog.conf.j2 b/tools/ansible/roles/dockerfile/templates/supervisor_rsyslog.conf.j2 index 8d8501ea6569..e516c208e311 100644 --- a/tools/ansible/roles/dockerfile/templates/supervisor_rsyslog.conf.j2 +++ b/tools/ansible/roles/dockerfile/templates/supervisor_rsyslog.conf.j2 @@ -36,7 +36,7 @@ stderr_logfile_maxbytes=0 {% if kube_dev | bool %} [program:awx-autoreload] -command = /awx_devel/tools/docker-compose/awx-autoreload /awx_devel/awx 'supervisorctl -c /etc/supervisord_rsyslog.conf restart tower-processes:*' +command = /awx_devel/tools/docker-compose/awx-autoreload /awx_devel/awx autostart = true autorestart = true stopasgroup=true diff --git a/tools/ansible/roles/dockerfile/templates/supervisor_task.conf.j2 b/tools/ansible/roles/dockerfile/templates/supervisor_task.conf.j2 index bce0a8752a02..90b6313635b2 100644 --- a/tools/ansible/roles/dockerfile/templates/supervisor_task.conf.j2 +++ b/tools/ansible/roles/dockerfile/templates/supervisor_task.conf.j2 @@ -58,7 +58,7 @@ stderr_logfile_maxbytes=0 {% if kube_dev | bool %} [program:awx-autoreload] -command = /awx_devel/tools/docker-compose/awx-autoreload /awx_devel/awx 'supervisorctl -c /etc/supervisord_task.conf restart tower-processes:*' +command = /awx_devel/tools/docker-compose/awx-autoreload /awx_devel/awx autostart = true autorestart = true stopasgroup=true diff --git a/tools/ansible/roles/dockerfile/templates/supervisor_web.conf.j2 b/tools/ansible/roles/dockerfile/templates/supervisor_web.conf.j2 index 6112b6abdafe..d156b97dfad9 100644 --- a/tools/ansible/roles/dockerfile/templates/supervisor_web.conf.j2 +++ b/tools/ansible/roles/dockerfile/templates/supervisor_web.conf.j2 @@ -91,7 +91,7 @@ stderr_logfile_maxbytes=0 {% if kube_dev | bool %} [program:awx-autoreload] -command = /awx_devel/tools/docker-compose/awx-autoreload /awx_devel/awx 'supervisorctl -c /etc/supervisord_web.conf restart tower-processes:*' +command = /awx_devel/tools/docker-compose/awx-autoreload /awx_devel/awx autostart = true autorestart = true stopasgroup=true diff --git a/tools/docker-compose/awx-autoreload b/tools/docker-compose/awx-autoreload index 0f6f0b8f9df1..08abf6eccae8 100755 --- a/tools/docker-compose/awx-autoreload +++ b/tools/docker-compose/awx-autoreload @@ -13,8 +13,10 @@ inotifywait -mrq -e create,delete,attrib,close_write,move --exclude '(/awx_devel since_last=$((this_reload-last_reload)) if [[ "$file" =~ ^[^.].*\.py$ ]] && [[ "$since_last" -gt 1 ]]; then echo "File changed: $file" - echo "Running command: $2" - eval $2 + # if any process is explicitly stopped, don't restart it + if [ -n "$SUPERVISOR_CONFIG_PATH" ]; then + supervisorctl -c $SUPERVISOR_CONFIG_PATH restart `supervisorctl -c $SUPERVISOR_CONFIG_PATH status tower-processes:* | grep -v STOPPED | awk '{print $1}'` + fi last_reload=`date +%s` fi done