refactor: Web 服务器从 gunicorn 迁移到 uvicorn
This commit is contained in:
+19
-6
@@ -41,20 +41,29 @@ start() {
|
||||
. "$ENV_FILE"
|
||||
set +a
|
||||
|
||||
UVICORN_LOG_LEVEL="${SOCIAL_RUNTIME__LOG_LEVEL:-info}"
|
||||
UVICORN_LOG_LEVEL="${UVICORN_LOG_LEVEL,,}"
|
||||
WEB_PORT="${SOCIAL_WEB__PORT:-5775}"
|
||||
|
||||
if tmux has-session -t "$SESSION_NAME" 2>/dev/null; then
|
||||
echo "Error: tmux session '$SESSION_NAME' already exists." >&2
|
||||
echo "Hint: tmux kill-session -t $SESSION_NAME" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if command -v ss >/dev/null 2>&1; then
|
||||
if ss -ltn | awk '{print $4}' | grep -qE "[:.]${WEB_PORT}$"; then
|
||||
echo "Error: web port ${WEB_PORT} is already in use." >&2
|
||||
echo "Hint: run '$0 stop' or change SOCIAL_WEB__PORT in .env" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Starting web + worker processes in tmux session '$SESSION_NAME'..."
|
||||
|
||||
WEB_CMD="cd '$ROOT_DIR' && PYTHONPATH=backend/src SOCIAL_RUNTIME__SERVICE_NAME=web uv run gunicorn app:app --bind \
|
||||
${SOCIAL_WEB__HOST:-0.0.0.0}:${SOCIAL_WEB__PORT:-8000} --workers \
|
||||
${SOCIAL_WEB__GUNICORN__WORKERS:-2} --worker-class \
|
||||
${SOCIAL_WEB__GUNICORN__WORKER_CLASS:-uvicorn.workers.UvicornWorker} --timeout \
|
||||
${SOCIAL_WEB__GUNICORN__TIMEOUT:-60} \
|
||||
--log-level ${SOCIAL_RUNTIME__LOG_LEVEL:-info}"
|
||||
WEB_CMD="cd '$ROOT_DIR' && PYTHONPATH=backend/src SOCIAL_RUNTIME__SERVICE_NAME=web uv run uvicorn app:app --host \
|
||||
${SOCIAL_WEB__HOST:-0.0.0.0} --port ${WEB_PORT} --workers \
|
||||
${SOCIAL_WEB__WORKERS:-2} --log-level ${UVICORN_LOG_LEVEL}"
|
||||
|
||||
WORKER_CRITICAL_CMD="cd '$ROOT_DIR' && PYTHONPATH=backend/src SOCIAL_RUNTIME__SERVICE_NAME=worker-critical uv run taskiq worker core.taskiq.app:critical_broker core.agent.infrastructure.queue.tasks --workers ${SOCIAL_WORKER__GROUPS__CRITICAL__CONCURRENCY:-2}"
|
||||
WORKER_DEFAULT_CMD="cd '$ROOT_DIR' && PYTHONPATH=backend/src SOCIAL_RUNTIME__SERVICE_NAME=worker-default uv run taskiq worker core.taskiq.app:default_broker core.agent.infrastructure.queue.tasks --workers ${SOCIAL_WORKER__GROUPS__DEFAULT__CONCURRENCY:-2}"
|
||||
@@ -88,6 +97,10 @@ stop() {
|
||||
fi
|
||||
|
||||
echo "Checking for orphaned processes..."
|
||||
if pgrep -f "uvicorn.*app:app" > /dev/null 2>&1; then
|
||||
echo "Killing orphaned uvicorn processes..."
|
||||
pkill -f "uvicorn.*app:app"
|
||||
fi
|
||||
if pgrep -f "gunicorn.*app:app" > /dev/null 2>&1; then
|
||||
echo "Killing orphaned gunicorn processes..."
|
||||
pkill -f "gunicorn.*app:app"
|
||||
|
||||
Reference in New Issue
Block a user