File indexing completed on 2026-06-04 08:56:31
0001
0002 set -e
0003
0004
0005
0006 export SWF_HOME=/opt
0007
0008 export USER=${USER:-root}
0009
0010 export SWF_TESTBED_CONFIG=${SWF_TESTBED_CONFIG:-workflows/testbed.toml}
0011
0012 export VIRTUAL_ENV=${VIRTUAL_ENV:-/usr/local}
0013
0014
0015
0016
0017 echo "==> Generating API token for agents …"
0018
0019 SWF_API_TOKEN=$(python /opt/swf-monitor/src/manage.py get_token admin 2>/dev/null | grep -oP '[0-9a-f]{40}')
0020 export SWF_API_TOKEN
0021 echo "==> API token ready"
0022
0023 echo "==> Starting: $@"
0024 "$@"
0025 CMD_EXIT=$?
0026
0027 if [ $CMD_EXIT -ne 0 ]; then
0028 echo "==> Command failed with exit code $CMD_EXIT"
0029 exit $CMD_EXIT
0030 fi
0031
0032
0033
0034
0035 AGENTS_PID_FILE=/app/agents-supervisord.pid
0036 if [ -f "$AGENTS_PID_FILE" ]; then
0037 SUPD_PID=$(cat "$AGENTS_PID_FILE")
0038 echo "==> Agents running under supervisord (pid $SUPD_PID). Tailing logs …"
0039
0040 trap "echo '==> Shutting down supervisord …'; kill -TERM $SUPD_PID; wait $SUPD_PID 2>/dev/null; exit 0" TERM INT
0041
0042 tail -F /app/logs/*.log 2>/dev/null &
0043 TAIL_PID=$!
0044
0045 while kill -0 "$SUPD_PID" 2>/dev/null; do
0046 sleep 2
0047 done
0048 kill $TAIL_PID 2>/dev/null
0049 echo "==> Supervisord exited."
0050 else
0051 echo "==> No supervisord pid file found. Exiting."
0052 fi