105cf82d21
- 恢复 CelerySettings 和相关计算属性 - 修复 celery/app.py 调用 configure_celery_app 参数 - 创建 core/initialization/init_data.py stub - 删除不完整的 test_auth_supabase_gateway.py
3.1 KiB
3.1 KiB
Runtime Runbook
Date: 2026-02-24
Status: Active
启动方式
一键启动 (推荐)
# 使用一键启动脚本
./infra/scripts/start.sh
或者手动执行:
# 1. 启动基础设施
docker compose --env-file .env -f infra/docker/docker-compose.yml up -d redis db
# 2. 运行迁移和初始化
docker compose --env-file .env -f infra/docker/docker-compose.yml run --rm init-job
# 3. 启动 Web 和 Worker
docker compose --env-file .env -f infra/docker/docker-compose.yml up -d web worker-critical worker-default worker-bulk
本地 CLI (开发调试)
适用于本地开发调试,不依赖 Docker。
# 初始化/迁移
PYTHONPATH=backend/src uv run python -m core.runtime.cli bootstrap
# 启动 Web (gunicorn)
PYTHONPATH=backend/src uv run gunicorn app:app --bind 0.0.0.0:8000 --workers 2 --worker-class uvicorn.workers.UvicornWorker
# 启动 Worker (按队列分组)
PYTHONPATH=backend/src uv run celery -A core.celery.app worker --loglevel=info --queues=critical --concurrency=2
PYTHONPATH=backend/src uv run celery -A core.celery.app worker --loglevel=info --queues=default --concurrency=2
PYTHONPATH=backend/src uv run celery -A core.celery.app worker --loglevel=info --queues=bulk --concurrency=1
服务说明
| 服务 | 说明 | 队列 |
|---|---|---|
| web | Web 服务 (gunicorn) | - |
| worker-critical | 关键任务 worker | critical |
| worker-default | 默认任务 worker | default |
| worker-bulk | 批量任务 worker | bulk |
| init-job | 数据库迁移和初始化 | - |
配置说明
Web 服务器配置
| 环境变量 | 说明 | 默认值 | 有效范围 |
|---|---|---|---|
SOCIAL_WEB__SERVER |
Web 服务器类型 | gunicorn | uvicorn/gunicorn |
SOCIAL_WEB__HOST |
监听地址 | 0.0.0.0 | - |
SOCIAL_WEB__PORT |
监听端口 | 8000 | 1-65535 |
SOCIAL_WEB__RELOAD |
开发模式热重载 | false | true/false |
SOCIAL_WEB__GUNICORN__WORKERS |
Gunicorn 工作进程数 | 2 | 1-64 |
SOCIAL_WEB__GUNICORN__WORKER_CLASS |
Gunicorn worker 类 | uvicorn.workers.UvicornWorker | Python import path |
SOCIAL_WEB__GUNICORN__TIMEOUT |
请求超时秒数 | 60 | 1-600 |
SOCIAL_WEB__GUNICORN__KEEPALIVE |
Keep-alive 秒数 | 5 | 1-120 |
SOCIAL_WEB__LOG_LEVEL |
日志级别 | info | debug/info/warning/error/critical |
Celery 队列路由
| 任务前缀 | 队列 |
|---|---|
| tasks.critical.* | critical |
| tasks.bulk.* | bulk |
| 其他 | default |
健康检查
curl -fsS http://127.0.0.1:8000/health
查看服务状态
docker compose --env-file .env -f infra/docker/docker-compose.yml ps
docker compose --env-file .env -f infra/docker/docker-compose.yml logs -f web
docker compose --env-file .env -f infra/docker/docker-compose.yml logs -f worker-critical
变更日志
| 日期 | 变更 |
|---|---|
| 2026-02-24 | 创建运行时手册,删除 legacy 脚本,统一使用 gunicorn |
| 2026-02-24 | 清理配置:合并 AppSettings 到 WebSettings,删除 Worker 旧配置 (enabled_queues/queues),统一使用 SOCIAL_WEB__GUNICORN__* 命名 |