初始化提交

This commit is contained in:
chenxin committed 2026-08-21 16:00:13 +08:00
commit 887c1f449e
963 files changed
+166869

No files matched your search

+36
View File
@@ -0,0 +1,36 @@
#!/bin/sh
# 后端启动入口:按 *_ENABLED 开关动态等待依赖就绪,再启动应用。
# 仅等待「实际启用」的依赖,避免硬等待未启用的可选服务(与 environment-config-design 一致)。
# 某依赖超时未就绪只告警不阻断——应用自身应具备连接重试逻辑。
set -e
WAIT_TIMEOUT="${WAIT_TIMEOUT:-60}"
WAIT=""
# postgres:正式环境(DATABASE_TYPE=pgsql)必需依赖
if [ "${DATABASE_TYPE}" = "pgsql" ]; then
WAIT="$WAIT ${POSTGRES_HOST:-hunjing-postgres}:${POSTGRES_PORT:-5432}"
fi
# 可选依赖:仅在对应开关启用时等待
if [ "${REDIS_ENABLED}" = "true" ]; then
WAIT="$WAIT ${REDIS_HOST:-hunjing-redis}:${REDIS_PORT:-6379}"
fi
if [ "${VECTOR_DB_ENABLED}" = "true" ] && [ "${VECTOR_DB_TYPE}" = "milvus" ]; then
WAIT="$WAIT ${MILVUS_HOST:-hunjing-milvus}:${MILVUS_PORT:-19530}"
fi
if [ "${GRAPH_DB_ENABLED}" = "true" ]; then
case "${GRAPH_DB_TYPE}" in
neo4j) WAIT="$WAIT ${NEO4J_HOST:-hunjing-neo4j}:7687" ;;
nebulagraph) WAIT="$WAIT ${NEBULAGRAPH_HOST:-hunjing-nebula-graphd}:${NEBULAGRAPH_PORT:-9669}" ;;
esac
fi
for target in $WAIT; do
echo "[entrypoint] 等待依赖就绪: $target"
/usr/local/bin/wait-for-it.sh "$target" -t "$WAIT_TIMEOUT" \
|| echo "[entrypoint] 警告: $target 未就绪,继续启动(应用应具备连接重试)"
done
echo "[entrypoint] 启动后端: uv run python -m app.main"
exec uv run python -m app.main