summaryrefslogtreecommitdiffstats
path: root/tools/docker-compose/awx-autoreload
blob: 446c653eec6312bb476334d6cbe9f593b74e043e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/env bash

if [ $# -lt 1 ]; then
    echo "Usage:"
    echo "    autoreload directory"
    exit 1
fi

last_reload=`date +%s`

inotifywait -mrq -e create,delete,attrib,close_write,move --exclude '(/awx_devel/awx/ui|/awx_devel/awx/.*/tests)' $1 | while read directory action file; do
   this_reload=`date +%s`
   since_last=$((this_reload-last_reload))
   if [[ "$file" =~ ^[^.].*\.py$ ]] && [[ "$since_last" -gt 1 ]]; then
      echo "File changed: $file"
      if [ -n "$SUPERVISOR_CONFIG_PATH" ]; then
          supervisorctl_command="supervisorctl -c $SUPERVISOR_CONFIG_PATH"
      else
          supervisorctl_command="supervisorctl"
      fi
      tower_processes=`$supervisorctl_command status tower-processes:* | grep -v STOPPED | awk '{print $1}' | tr '\n' ' '`
      echo echo "Running command: $supervisorctl_command restart $tower_processes"
      eval $supervisorctl_command restart $tower_processes
      last_reload=`date +%s`
   fi
done