42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 默认重置 client_id 投递游标后启动 Fish API(uvicorn),保留 SQLite 历史快照。
|
||
# 默认保留 measure_output 中间步骤(点云等)以加速重新处理。
|
||
#
|
||
# bash fish_api/start_fresh.sh
|
||
# PORT=8001 HOST=0.0.0.0 bash fish_api/start_fresh.sh
|
||
#
|
||
# 强制清空 SQLite(谨慎):
|
||
# CLEAR_SQLITE_DATABASE=1 bash fish_api/start_fresh.sh
|
||
#
|
||
# 强制清空中间输出目录(重新生成点云等):
|
||
# CLEAR_MEASURE_OUTPUT=1 bash fish_api/start_fresh.sh
|
||
# CLEAR_MEASURE_OUTPUT=1 CLEAR_ACTION_OUTPUT=1 bash fish_api/start_fresh.sh
|
||
#
|
||
# 首次使用请先:cd fish_api && uv sync
|
||
#
|
||
set -euo pipefail
|
||
|
||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
cd "$DIR"
|
||
|
||
# 勿在此默认导出 PUBLIC_BASE_URL:shell 环境会覆盖 fish_api/.env(pydantic 优先级)。
|
||
# 未设置时由 app/settings.py 的默认值或 .env 中的 PUBLIC_BASE_URL 决定。
|
||
unset PYTHON_FISH_MEASURE PYTHON_FISH_ACTION 2>/dev/null || true
|
||
|
||
if command -v uv >/dev/null 2>&1; then
|
||
PY=(uv run python)
|
||
else
|
||
PY=(python3)
|
||
fi
|
||
|
||
"${PY[@]}" -m app.prestart_fresh
|
||
|
||
PORT="${PORT:-8000}"
|
||
HOST="${HOST:-0.0.0.0}"
|
||
|
||
if command -v uv >/dev/null 2>&1; then
|
||
exec uv run uvicorn app.main:app --host "$HOST" --port "$PORT"
|
||
else
|
||
exec uvicorn app.main:app --host "$HOST" --port "$PORT"
|
||
fi
|