|
|
13 hours ago | |
|---|---|---|
| .. | ||
| README.md | 13 hours ago | |
| supervisord.pipeline.conf | 4 days ago | |
当前生产保持一个镜像、一个容器。Supervisor 在容器内分别托管 API、独立 Scheduler、多个 Pipeline Worker 和 Reconciler。
/app/logs/pipeline 到持久化目录;SCHEDULER_ENABLED=true 只影响独立 Scheduler 进程,API 不再内嵌调度器;
默认调度时间为 Asia/Shanghai 每日 15:00;AIGC_API_TOKEN,日批最后一步会真实创建/绑定 AIGC 计划;+08:00(中国标准时间);定时日批有次日
调度 deadline,手工/API/CLI 补数不设置 deadline。find_agent 默认最多运行 600 秒(10 分钟);运行中的找视频批次每 60 秒输出一次
进度日志,超时记录会标记失败,批次继续处理下一条需求。AUTH_BOOTSTRAP_ADMIN_USERNAME 和至少 8 位的
AUTH_BOOTSTRAP_ADMIN_PASSWORD 以创建初始管理员;已有同名用户不会被覆盖。
HTTPS 生产环境设置 AUTH_COOKIE_SECURE=true。生产镜像默认启用
PIPELINE_REQUIRE_SECURE_COOKIE=true,配置错误时会拒绝启动。示例:
docker run \
--stop-timeout 300 \
--env-file /path/to/supply-agent.env \
-v /host/supply-agent-pipeline-logs:/app/logs/pipeline \
-p 8080:8080 \
registry.example/supply-agent:tag
标准档使用 40 个连接、4 个 Worker、4 个最大活跃步骤。高并发补跑档使用 50 个连接、20 个 Worker,但必须将最大活跃步骤限制为 10。
容器启动时默认运行 alembic upgrade head。紧急回滚代码时不自动 downgrade
数据库;四张控制面表保留审计数据。
镜像还提供 Docker HEALTHCHECK。/health/ready 只有在数据库可访问、
Scheduler 心跳有效、活跃 Worker 数达到 PIPELINE_WORKER_PROCESSES、且
Reconciler 心跳有效时才返回成功。部署平台应等待容器变为 healthy 后再切流,
上线后也应对 unhealthy 状态告警。
发布前可在与生产相同版本的 MySQL 上运行隔离迁移验证(临时库名有安全前缀, 脚本结束会自动删除,且会校验源库未变化):
.venv/bin/python scripts/mysql_schema_migration_smoke.py \
--database supply_agent_preflight_release \
--downgrade-to 20260731_08
Reconciler 会把失败、失联、漏跑恢复以及 12 小时/2 小时/30 分钟分级预警以
pipeline_alert 结构化日志写到容器 stdout。第一阶段不上传到现有公共 CDN OSS;
生产应由 Docker 日志采集器接入现有告警平台,或至少保留容器日志。