增加docke部署

This commit is contained in:
2026-04-10 16:44:13 +08:00
parent e2f8054794
commit cd4ddb606d
5076 changed files with 701092 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
#!/bin/sh
# 每日定时任务(替代 Windows autorun.cmd
# 凌晨 4:00 执行,通过 Docker 内网直连 dlweb 容器
#
# 原 autorun.cmd 流程:
# 1. net stop HttpRequestService (停止 Synchronize.php 轮询)
# 2. POST SynchronizeReportData.php同步报表数据
# 3. net start HttpRequestService (恢复 Synchronize.php 轮询)
#
# Docker 等价实现:通过共享文件 /shared/syncjob.pause 暂停/恢复 syncjob
DLWEB_URL="${DLWEB_INTERNAL_URL:-http://dlweb}"
PAUSE_FILE="/shared/syncjob.pause"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
echo "========================================"
echo "[${TIMESTAMP}] 开始执行每日定时任务"
echo "========================================"
# --------------------------------------------------------
# 1. 停止同步服务(等价于 net stop HttpRequestService
# 创建暂停信号文件syncjob 检测到后会跳过轮询
# --------------------------------------------------------
echo "[$(date '+%H:%M:%S')] 暂停 syncjob 同步服务..."
touch "${PAUSE_FILE}"
# 等待当前可能正在执行的请求完成
sleep 5
# --------------------------------------------------------
# 2. 同步报表数据 (SynchronizeReportData.php)
# 从游戏数据库同步 report_agent_day、report_game_day 到代理后台
# 并生成 ct_report_info 报表
# 与原 autorun.cmd 一致:不设超时、不重试,等待自然执行完毕
# --------------------------------------------------------
echo "[$(date '+%H:%M:%S')] 开始同步报表数据..."
RESULT=$(curl -sf -X POST "${DLWEB_URL}/ext/SynchronizeReportData.php" 2>&1)
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
echo "[$(date '+%H:%M:%S')] 报表同步完成: ${RESULT}"
else
echo "[$(date '+%H:%M:%S')] 报表同步失败(${EXIT_CODE}): ${RESULT}"
fi
# --------------------------------------------------------
# 3. 恢复同步服务(等价于 net start HttpRequestService
# 删除暂停信号文件syncjob 恢复正常轮询
# --------------------------------------------------------
echo "[$(date '+%H:%M:%S')] 恢复 syncjob 同步服务..."
rm -f "${PAUSE_FILE}"
echo "========================================"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 每日定时任务执行完毕"
echo "========================================"