Files
inkreach-prefect/docker-compose.yml
T
yeuimu 5aaddbbf7c fix: worker 加 init 回收僵尸进程;label-ocr 批量请求重试且失败不落 ERROR
- docker-compose: prefect-worker 加 init: true。pull 步骤的 git 子进程被杀后
  无人 wait 变僵尸,9/17 宿主机重启后爆发 3.7 万僵尸占满容器 cgroup PID 配额,
  导致所有 flow run "Failed to start flow run process"(全量 CRASH 约 40h)。
- label_ocr: OCR 编排服务(lm-server-canary)偶发秒级重启,原逻辑对批量请求
  失败零重试并整批标永久 ERROR,9/1、9/5、9/9 三波共 ~2500 单误标。
  现改为请求级重试 3 次,仍失败则保持未处理,留给下个小时 run 自动重试。
2026-09-18 10:09:24 +00:00

64 lines
1.8 KiB
YAML

services:
prefect-server:
image: prefecthq/prefect:3-python3.12
container_name: prefect-server
command: prefect server start --host 0.0.0.0
environment:
PREFECT_UI_API_URL: http://192.168.124.92:4200/api
TZ: Asia/Shanghai
ports:
- "4200:4200"
volumes:
- prefect-data:/root/.prefect
restart: unless-stopped
prefect-worker:
build: .
container_name: prefect-worker
# init 进程(tini)回收孤儿/僵尸:pull 步骤的 git 子进程被杀后没人 wait 会变僵尸,
# 堆满 cgroup PID 配额后容器内无法再 fork(2026-09-17 事故根因)
init: true
environment:
PREFECT_API_URL: http://prefect-server:4200/api
TZ: Asia/Shanghai
depends_on:
- prefect-server
volumes:
# 设备监控(device-check flow):宿主机磁盘使用率 + Docker 容器状态 + 指标采样
- /var/run/docker.sock:/var/run/docker.sock
- /:/host:ro
- ./data/metrics:/data/metrics:ro
deploy:
resources:
reservations:
devices:
# GPU 监控(nvidia-smi);依赖宿主机 nvidia-container-toolkit
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
# 宿主机指标采样侧车:每 5 分钟写内存/swap/GPU,每日 du 快照(供 device-check 日报)
metrics-agent:
build: .
container_name: metrics-agent
command: python /opt/metrics_agent.py
environment:
TZ: Asia/Shanghai
METRICS_DIR: /data/metrics
volumes:
- /:/host:ro
- ./data/metrics:/data/metrics
- ./scripts/metrics_agent.py:/opt/metrics_agent.py:ro
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
volumes:
prefect-data: