refactor(data): 重构数据目录结构并优化相关配置

- 移除 screenshot 相关代码和配置
- 修改 SNAPSHOT_DIR 路径为复数形式
- 更新 Dockerfile 和 docker-compose 文件中的数据目录结构
- 优化 playwright_service 中的等待逻辑
- 修改异常日志输出,使用 traceback 提供更详细的信息
This commit is contained in:
danial
2025-09-19 19:11:39 +08:00
parent 51efaf621d
commit 00ab9f48fc
8 changed files with 13 additions and 13 deletions

View File

@@ -15,7 +15,7 @@ clone:
steps:
- name: create data directories
commands:
- mkdir -p /data/apple_exchange/redis_data /data/apple_exchange/postgres_data /data/apple_exchange/logs /data/apple_exchange/data /data/apple_exchange/screenshots /data/apple_exchange/shared /data/apple_exchange/playwright_browsers
- mkdir -p /data/apple_exchange/redis_data /data/apple_exchange/postgres_data /data/apple_exchange/logs /data/apple_exchange/data /data/apple_exchange/playwright_browsers
- name: deploy to production server
commands:

View File

@@ -68,7 +68,7 @@ OTEL_MAX_QUEUE_SIZE=2048
# 文件存储配置
UPLOAD_DIR=./data/uploads
SNAPSHOT_DIR=./data/snapshot
SNAPSHOT_DIR=./data/snapshots
HTML_DIR=./data/html
MAX_FILE_SIZE=16777216

View File

@@ -30,7 +30,7 @@ RUN apt-get update && apt-get install -y \
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata
RUN mkdir -p /app/data/snapshot /app/data/html /app/data/uploads /app/data/shared /app/logs
RUN mkdir -p /app/data/uploads /app/logs /app/data/playwright-browsers
COPY app ./app
COPY run.py ./

View File

@@ -33,7 +33,7 @@ COPY --chmod=755 docker-entrypoint.sh ./
RUN uv sync --frozen && \
chmod -R 755 /app/.venv/bin/*
RUN mkdir -p /app/data/snapshot /app/data/html /app/data/uploads /app/data/shared /app/logs /app/data/playwright-browsers
RUN mkdir -p /app/data/uploads /app/logs /app/data/playwright-browsers
COPY app ./app
COPY scripts ./scripts

View File

@@ -678,7 +678,7 @@ class AppleOrderProcessor:
wait_stable=True,
):
raise Exception("无法点击 continue_to_review")
await page.wait_for_timeout(2000)
await page.wait_for_load_state("networkidle")
logger.info(f"{self.thread_prefix} 已处理配送信息")
return True
except Exception as e:
@@ -707,10 +707,16 @@ class AppleOrderProcessor:
):
raise Exception("无法点击 place_order")
await page.wait_for_timeout(timeout=5000)
await page.wait_for_load_state("networkidle")
# 强制等待
max_wait_timeout = 60
while max_wait_timeout >= 0:
if "Youre all set." in await page.content():
try:
content = await page.content()
except Exception:
continue
if "Youre all set." in content:
logger.info(f"{self.thread_prefix} 订单提交成功")
break
logger.info(
@@ -739,7 +745,7 @@ class AppleOrderProcessor:
return True
except Exception as e:
logger.error(f"{self.thread_prefix} 订单完成失败: {e}")
logger.error(f"{self.thread_prefix} 订单完成失败: {traceback.format_exc()}")
raise e
async def _extract_order_info(self, page: Page) -> dict[str, Any]:

View File

@@ -36,7 +36,6 @@ services:
- DATABASE_URL=postgresql+asyncpg://postgres:Kp9mX8vL2nQ5wR7@db:5432/apple_exchange
- REDIS_URL=redis://:Df4jG7zN9pL1tY3@redis:6379/0
- WORKERS=4
- SCREENSHOT_DIR=/app/data/snapshot
- LOG_DIR=/app/logs
volumes:
- logs:/app/logs
@@ -65,7 +64,6 @@ services:
- DATABASE_URL=postgresql+asyncpg://postgres:Kp9mX8vL2nQ5wR7@db:5432/apple_exchange
- REDIS_URL=redis://:Df4jG7zN9pL1tY3@redis:6379/0
- WORKER_MAX_CONCURRENT_TASKS=5
- SCREENSHOT_DIR=/app/data/snapshot
- LOG_DIR=/app/logs
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
volumes:

View File

@@ -58,7 +58,6 @@ services:
- REDIS_URL=redis://redis:6379/0
- WORKERS=4
- SCREENSHOT_DIR=/app/data/snapshot
- LOG_DIR=/app/logs
volumes:
- logs:/app/logs
@@ -110,7 +109,6 @@ services:
- DATABASE_URL=postgresql+asyncpg://postgres:${POSTGRES_PASSWORD}@db:5432/apple_exchange
- REDIS_URL=redis://redis:6379/0
- WORKER_MAX_CONCURRENT_TASKS=2
- SCREENSHOT_DIR=/app/data/snapshot
- LOG_DIR=/app/logs
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
volumes:

View File

@@ -37,7 +37,6 @@ services:
- REDIS_URL=redis://redis:6379/0
- WORKERS=4
- SCREENSHOT_DIR=/app/data/snapshot
- LOG_DIR=/app/logs
volumes:
- logs:/app/logs
@@ -66,7 +65,6 @@ services:
- DATABASE_URL=postgresql+asyncpg://postgres:password@db:5432/apple_exchange
- REDIS_URL=redis://redis:6379/0
- WORKER_MAX_CONCURRENT_TASKS=2
- SCREENSHOT_DIR=/app/data/snapshot
- LOG_DIR=/app/logs
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
volumes: