#!/usr/bin/env bash # worker 开发启动脚本(接口1 四庭七眼测量)。 # # 用法: # ./run_worker.sh # 开发模式:127.0.0.1:8187 + --reload(改代码自动重启) # ./run_worker.sh --prod # 部署模式:0.0.0.0:8187,无 reload # HOST=0.0.0.0 PORT=9000 ./run_worker.sh # 用环境变量覆盖 host/port # # 鉴权密码读 worker_config.json 的 accept_passwords(本地默认 testpass), # 也可用 WORKER_ACCEPT_PASSWORDS=逗号分隔 覆盖。 set -euo pipefail cd "$(dirname "$0")" VENV_PY="./venv/bin/uvicorn" if [ ! -x "$VENV_PY" ]; then echo "找不到 $VENV_PY,请先创建 venv 并安装依赖(见 README/requirements.txt)" >&2 exit 1 fi MODE="${1:-dev}" if [ "$MODE" = "--prod" ]; then HOST="${HOST:-0.0.0.0}" PORT="${PORT:-8187}" echo ">> 部署模式 worker: ${HOST}:${PORT}" exec "$VENV_PY" app:app --host "$HOST" --port "$PORT" else HOST="${HOST:-127.0.0.1}" PORT="${PORT:-8187}" echo ">> 开发模式 worker: ${HOST}:${PORT} (--reload)" exec "$VENV_PY" app:app --host "$HOST" --port "$PORT" --reload fi