mirror of
https://github.com/ansible/awx.git
synced 2026-02-02 01:58:09 -03:30
Alternative code reloader for dev env
I verified what Seth found in https://github.com/ansible/awx/pull/12052, but would really hate to lose this functionality. Curious if folks on the API team can try this and see if it works for them.
This commit is contained in:
@@ -158,6 +158,8 @@ RUN pip3 install black git+https://github.com/coderanger/supervisor-stdout
|
||||
# It is nice to have in the dev env, but not necessary.
|
||||
# Add it back to the list above if the repo ever straighten up.
|
||||
RUN dnf --enablerepo=baseos-debug -y install python3-debuginfo || :
|
||||
|
||||
RUN dnf install -y epel-next-release && dnf install -y inotify-tools && dnf remove -y epel-next-release
|
||||
{% endif %}
|
||||
|
||||
# Copy app from builder
|
||||
|
||||
@@ -27,7 +27,7 @@ stderr_logfile_maxbytes=0
|
||||
command = make uwsgi
|
||||
directory = /awx_devel
|
||||
environment =
|
||||
UWSGI_DEV_RELOAD_COMMAND='supervisorctl -c /etc/supervisord_task.conf restart all; supervisorctl restart tower-processes:daphne tower-processes:wsbroadcast'
|
||||
DEV_RELOAD_COMMAND='supervisorctl -c /etc/supervisord_task.conf restart all; supervisorctl restart tower-processes:daphne tower-processes:wsbroadcast'
|
||||
{% else %}
|
||||
command = /var/lib/awx/venv/awx/bin/uwsgi /etc/tower/uwsgi.ini
|
||||
directory = /var/lib/awx
|
||||
|
||||
15
tools/docker-compose/awx-autoreload
Executable file
15
tools/docker-compose/awx-autoreload
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/env bash
|
||||
|
||||
if [ $# -lt 2 ]; then
|
||||
echo "Usage:"
|
||||
echo " autoreload directory command"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
inotifywait -mrq -e create,delete,attrib,close_write,move --exclude '/awx_devel/awx/ui' $1 | while read directory action file; do
|
||||
if [[ "$file" =~ .*py$ ]]; then
|
||||
echo "File changed: $file"
|
||||
echo "Running command: $2"
|
||||
eval $2
|
||||
fi
|
||||
done
|
||||
@@ -95,6 +95,20 @@ stderr_logfile_maxbytes=0
|
||||
programs=awx-dispatcher,awx-receiver,awx-uwsgi,awx-daphne,awx-nginx,awx-wsbroadcast,awx-rsyslogd
|
||||
priority=5
|
||||
|
||||
[program:awx-autoreload]
|
||||
command = make awx-autoreload
|
||||
autostart = true
|
||||
autorestart = true
|
||||
startsecs = 30
|
||||
stopasgroup=true
|
||||
killasgroup=true
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
stdout_events_enabled = true
|
||||
stderr_events_enabled = true
|
||||
|
||||
[eventlistener:superwatcher]
|
||||
command=stop-supervisor
|
||||
events=PROCESS_STATE_FATAL
|
||||
|
||||
Reference in New Issue
Block a user