Files
gmv-analytics/DOCKER_PREFECT_USAGE.md
T
2026-03-13 18:55:33 +08:00

1.8 KiB
Raw Blame History

Docker + Prefect

1. 构建镜像

cd /Users/idss/YXT_Project/gmv-analytics
docker build -t gmv-analytics-prefect:latest .

2. 单次执行

docker run --rm \
  --env-file /Users/idss/YXT_Project/gmv-analytics/.env \
  -e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
  gmv-analytics-prefect:latest \
  python prefect_gmv_scheduler.py

3. 启动每天 09:00 的 Prefect 调度

这会连接 .env 中已经配置的 PREFECT_API_URL,并在 Prefect 中启动一个 deployment。

docker run --rm \
  --env-file /Users/idss/YXT_Project/gmv-analytics/.env \
  -e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
  gmv-analytics-prefect:latest

容器默认执行:

python prefect_gmv_scheduler.py --serve

也可以直接用 Compose:

cd /Users/idss/YXT_Project/gmv-analytics
docker compose up -d --build

停止:

docker compose down

4. 如果你是用 Prefect worker 跑容器

先保证你的 Prefect worker 已经连到同一个 PREFECT_API_URL。

推荐命令示例:

prefect worker start --pool default-agent-pool --type process

如果你后面要改成真正的 Docker work pool,再在 Prefect UI 中把 deployment 的基础设施切到 Docker,并指定镜像:

gmv-analytics-prefect:latest

5. 常用覆盖参数

单次 dry-run:

docker run --rm \
  --env-file /Users/idss/YXT_Project/gmv-analytics/.env \
  -e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
  gmv-analytics-prefect:latest \
  python prefect_gmv_scheduler.py --dry-run

指定时间范围:

docker run --rm \
  --env-file /Users/idss/YXT_Project/gmv-analytics/.env \
  -e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
  gmv-analytics-prefect:latest \
  python prefect_gmv_scheduler.py --start-date 2026-03-01 --end-date 2026-03-12