diff --git a/DOCKER_PREFECT_USAGE.md b/DOCKER_PREFECT_USAGE.md index c484472..97f61db 100644 --- a/DOCKER_PREFECT_USAGE.md +++ b/DOCKER_PREFECT_USAGE.md @@ -61,12 +61,27 @@ cd /Users/idss/YXT_Project/gmv-analytics docker compose up -d --build ``` +开启热加载监听: + +```bash +cd /Users/idss/YXT_Project/gmv-analytics +docker compose watch +``` + 停止: ```bash docker compose down ``` +热加载规则是: + +- 修改 `.py`、`.env`、Excel 映射表等项目内容: + - 自动同步到容器 + - 并自动重启服务 +- 修改 `Dockerfile`、`pyproject.toml`、`supervisord.conf`、`docker-compose.yaml`、`requirements-docker.txt`: + - 自动触发 rebuild + ## 3. 注册 Prefect 调度 推荐方式是使用 [prefect.yaml](/Users/idss/YXT_Project/gmv-analytics/prefect.yaml) 注册 deployment: diff --git a/docker-compose.yaml b/docker-compose.yaml index c39e536..4521af2 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,13 +1,39 @@ services: - gmv-prefect-scheduler: + prefect-gmv-worker: build: context: . dockerfile: Dockerfile image: gmv-analytics-prefect:0.1.0 - container_name: gmv-prefect-scheduler + container_name: prefect-gmv-worker restart: unless-stopped env_file: - .env environment: PROJECT_MAPPING_FILE: /app/店铺映射表.xlsx - command: ["python", "prefect_gmv_scheduler.py", "--serve"] + develop: + watch: + - action: sync+restart + path: . + target: /app + ignore: + - .git/ + - .venv/ + - __pycache__/ + - .pytest_cache/ + - logs/ + - "*.pyc" + - "Dockerfile" + - "docker-compose.yaml" + - "pyproject.toml" + - "supervisord.conf" + - "requirements-docker.txt" + - action: rebuild + path: Dockerfile + - action: rebuild + path: docker-compose.yaml + - action: rebuild + path: pyproject.toml + - action: rebuild + path: supervisord.conf + - action: rebuild + path: requirements-docker.txt diff --git a/prefect.yaml b/prefect.yaml index ac1f5a7..f658b25 100644 --- a/prefect.yaml +++ b/prefect.yaml @@ -22,7 +22,7 @@ deployments: - bitable - sync schedules: - - cron: "0 17 10 * *" + - cron: "0 17 30 * *" timezone: "Asia/Shanghai" active: true work_pool: @@ -43,7 +43,7 @@ deployments: - feishu - notify schedules: - - cron: "0 17 50 * *" + - cron: "0 18 10 * *" timezone: "Asia/Shanghai" active: true work_pool: diff --git a/prefect_gmv_scheduler.py b/prefect_gmv_scheduler.py index b7ed1b0..3dfb5d2 100644 --- a/prefect_gmv_scheduler.py +++ b/prefect_gmv_scheduler.py @@ -261,14 +261,12 @@ def main() -> None: gmv_daily_data_sync_flow.serve( name="gmv-daily-data-sync-8am", cron="0 8 * * *", - timezone="Asia/Shanghai", parameters=flow_kwargs, tags=["gmv", "feishu", "bitable"], ) gmv_daily_notify_flow.serve( name="gmv-daily-notify-9am", cron="0 9 * * *", - timezone="Asia/Shanghai", parameters=flow_kwargs, tags=["gmv", "feishu", "notify"], )