mirror of
https://git.oceanpay.cc/danial/kami_apple_exchage.git
synced 2025-12-18 21:19:19 +00:00
refactor(data): 重构数据目录结构并优化相关配置
- 移除 screenshot 相关代码和配置 - 修改 SNAPSHOT_DIR 路径为复数形式 - 更新 Dockerfile 和 docker-compose 文件中的数据目录结构 - 优化 playwright_service 中的等待逻辑 - 修改异常日志输出,使用 traceback 提供更详细的信息
This commit is contained in:
@@ -15,7 +15,7 @@ clone:
|
|||||||
steps:
|
steps:
|
||||||
- name: create data directories
|
- name: create data directories
|
||||||
commands:
|
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
|
- name: deploy to production server
|
||||||
commands:
|
commands:
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ OTEL_MAX_QUEUE_SIZE=2048
|
|||||||
|
|
||||||
# 文件存储配置
|
# 文件存储配置
|
||||||
UPLOAD_DIR=./data/uploads
|
UPLOAD_DIR=./data/uploads
|
||||||
SNAPSHOT_DIR=./data/snapshot
|
SNAPSHOT_DIR=./data/snapshots
|
||||||
HTML_DIR=./data/html
|
HTML_DIR=./data/html
|
||||||
MAX_FILE_SIZE=16777216
|
MAX_FILE_SIZE=16777216
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ RUN apt-get update && apt-get install -y \
|
|||||||
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
||||||
dpkg-reconfigure -f noninteractive tzdata
|
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 app ./app
|
||||||
COPY run.py ./
|
COPY run.py ./
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ COPY --chmod=755 docker-entrypoint.sh ./
|
|||||||
RUN uv sync --frozen && \
|
RUN uv sync --frozen && \
|
||||||
chmod -R 755 /app/.venv/bin/*
|
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 app ./app
|
||||||
COPY scripts ./scripts
|
COPY scripts ./scripts
|
||||||
|
|||||||
@@ -678,7 +678,7 @@ class AppleOrderProcessor:
|
|||||||
wait_stable=True,
|
wait_stable=True,
|
||||||
):
|
):
|
||||||
raise Exception("无法点击 continue_to_review")
|
raise Exception("无法点击 continue_to_review")
|
||||||
await page.wait_for_timeout(2000)
|
await page.wait_for_load_state("networkidle")
|
||||||
logger.info(f"{self.thread_prefix} 已处理配送信息")
|
logger.info(f"{self.thread_prefix} 已处理配送信息")
|
||||||
return True
|
return True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -707,10 +707,16 @@ class AppleOrderProcessor:
|
|||||||
):
|
):
|
||||||
raise Exception("无法点击 place_order")
|
raise Exception("无法点击 place_order")
|
||||||
await page.wait_for_timeout(timeout=5000)
|
await page.wait_for_timeout(timeout=5000)
|
||||||
|
await page.wait_for_load_state("networkidle")
|
||||||
# 强制等待
|
# 强制等待
|
||||||
max_wait_timeout = 60
|
max_wait_timeout = 60
|
||||||
while max_wait_timeout >= 0:
|
while max_wait_timeout >= 0:
|
||||||
if "You’re all set." in await page.content():
|
try:
|
||||||
|
content = await page.content()
|
||||||
|
except Exception:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if "You’re all set." in content:
|
||||||
logger.info(f"{self.thread_prefix} 订单提交成功")
|
logger.info(f"{self.thread_prefix} 订单提交成功")
|
||||||
break
|
break
|
||||||
logger.info(
|
logger.info(
|
||||||
@@ -739,7 +745,7 @@ class AppleOrderProcessor:
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"{self.thread_prefix} 订单完成失败: {e}")
|
logger.error(f"{self.thread_prefix} 订单完成失败: {traceback.format_exc()}")
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
async def _extract_order_info(self, page: Page) -> dict[str, Any]:
|
async def _extract_order_info(self, page: Page) -> dict[str, Any]:
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ services:
|
|||||||
- DATABASE_URL=postgresql+asyncpg://postgres:Kp9mX8vL2nQ5wR7@db:5432/apple_exchange
|
- DATABASE_URL=postgresql+asyncpg://postgres:Kp9mX8vL2nQ5wR7@db:5432/apple_exchange
|
||||||
- REDIS_URL=redis://:Df4jG7zN9pL1tY3@redis:6379/0
|
- REDIS_URL=redis://:Df4jG7zN9pL1tY3@redis:6379/0
|
||||||
- WORKERS=4
|
- WORKERS=4
|
||||||
- SCREENSHOT_DIR=/app/data/snapshot
|
|
||||||
- LOG_DIR=/app/logs
|
- LOG_DIR=/app/logs
|
||||||
volumes:
|
volumes:
|
||||||
- logs:/app/logs
|
- logs:/app/logs
|
||||||
@@ -65,7 +64,6 @@ services:
|
|||||||
- DATABASE_URL=postgresql+asyncpg://postgres:Kp9mX8vL2nQ5wR7@db:5432/apple_exchange
|
- DATABASE_URL=postgresql+asyncpg://postgres:Kp9mX8vL2nQ5wR7@db:5432/apple_exchange
|
||||||
- REDIS_URL=redis://:Df4jG7zN9pL1tY3@redis:6379/0
|
- REDIS_URL=redis://:Df4jG7zN9pL1tY3@redis:6379/0
|
||||||
- WORKER_MAX_CONCURRENT_TASKS=5
|
- WORKER_MAX_CONCURRENT_TASKS=5
|
||||||
- SCREENSHOT_DIR=/app/data/snapshot
|
|
||||||
- LOG_DIR=/app/logs
|
- LOG_DIR=/app/logs
|
||||||
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
|
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -58,7 +58,6 @@ services:
|
|||||||
- REDIS_URL=redis://redis:6379/0
|
- REDIS_URL=redis://redis:6379/0
|
||||||
|
|
||||||
- WORKERS=4
|
- WORKERS=4
|
||||||
- SCREENSHOT_DIR=/app/data/snapshot
|
|
||||||
- LOG_DIR=/app/logs
|
- LOG_DIR=/app/logs
|
||||||
volumes:
|
volumes:
|
||||||
- logs:/app/logs
|
- logs:/app/logs
|
||||||
@@ -110,7 +109,6 @@ services:
|
|||||||
- DATABASE_URL=postgresql+asyncpg://postgres:${POSTGRES_PASSWORD}@db:5432/apple_exchange
|
- DATABASE_URL=postgresql+asyncpg://postgres:${POSTGRES_PASSWORD}@db:5432/apple_exchange
|
||||||
- REDIS_URL=redis://redis:6379/0
|
- REDIS_URL=redis://redis:6379/0
|
||||||
- WORKER_MAX_CONCURRENT_TASKS=2
|
- WORKER_MAX_CONCURRENT_TASKS=2
|
||||||
- SCREENSHOT_DIR=/app/data/snapshot
|
|
||||||
- LOG_DIR=/app/logs
|
- LOG_DIR=/app/logs
|
||||||
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
|
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ services:
|
|||||||
- REDIS_URL=redis://redis:6379/0
|
- REDIS_URL=redis://redis:6379/0
|
||||||
|
|
||||||
- WORKERS=4
|
- WORKERS=4
|
||||||
- SCREENSHOT_DIR=/app/data/snapshot
|
|
||||||
- LOG_DIR=/app/logs
|
- LOG_DIR=/app/logs
|
||||||
volumes:
|
volumes:
|
||||||
- logs:/app/logs
|
- logs:/app/logs
|
||||||
@@ -66,7 +65,6 @@ services:
|
|||||||
- DATABASE_URL=postgresql+asyncpg://postgres:password@db:5432/apple_exchange
|
- DATABASE_URL=postgresql+asyncpg://postgres:password@db:5432/apple_exchange
|
||||||
- REDIS_URL=redis://redis:6379/0
|
- REDIS_URL=redis://redis:6379/0
|
||||||
- WORKER_MAX_CONCURRENT_TASKS=2
|
- WORKER_MAX_CONCURRENT_TASKS=2
|
||||||
- SCREENSHOT_DIR=/app/data/snapshot
|
|
||||||
- LOG_DIR=/app/logs
|
- LOG_DIR=/app/logs
|
||||||
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
|
- PLAYWRIGHT_BROWSERS_PATH=/app/data/playwright-browsers
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
Reference in New Issue
Block a user