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

87 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Docker + Prefect
## 1. 构建镜像
```bash
cd /Users/idss/YXT_Project/gmv-analytics
docker build -t gmv-analytics-prefect:latest .
```
## 2. 单次执行
```bash
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。
```bash
docker run --rm \
--env-file /Users/idss/YXT_Project/gmv-analytics/.env \
-e PROJECT_MAPPING_FILE=/app/店铺映射表.xlsx \
gmv-analytics-prefect:latest
```
容器默认执行:
```bash
python prefect_gmv_scheduler.py --serve
```
也可以直接用 Compose:
```bash
cd /Users/idss/YXT_Project/gmv-analytics
docker compose up -d --build
```
停止:
```bash
docker compose down
```
## 4. 如果你是用 Prefect worker 跑容器
先保证你的 Prefect worker 已经连到同一个 `PREFECT_API_URL`。
推荐命令示例:
```bash
prefect worker start --pool default-agent-pool --type process
```
如果你后面要改成真正的 Docker work pool,再在 Prefect UI 中把 deployment 的基础设施切到 Docker,并指定镜像:
```text
gmv-analytics-prefect:latest
```
## 5. 常用覆盖参数
单次 dry-run:
```bash
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
```
指定时间范围:
```bash
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
```