增加docke部署
This commit is contained in:
36
codes/agent/game-docker/docker/syncjob/sync.sh
Normal file
36
codes/agent/game-docker/docker/syncjob/sync.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
# 定时同步任务:每 SYNC_INTERVAL 秒 POST 请求 dlweb 容器的 Synchronize.php
|
||||
# 通过 Docker 内网直连,不走域名/公网流量
|
||||
# 支持暂停:当 /shared/syncjob.pause 文件存在时,跳过本轮请求
|
||||
|
||||
# 安装 curl(仅首次,后续重启容器时已安装则跳过)
|
||||
command -v curl > /dev/null 2>&1 || apk add --no-cache curl > /dev/null 2>&1
|
||||
|
||||
SYNC_URL="${SYNC_URL:-http://dlweb/ext/Synchronize.php}"
|
||||
SYNC_INTERVAL="${SYNC_INTERVAL:-30}"
|
||||
SYNC_PROCESSCOUNT="${SYNC_PROCESSCOUNT:-200}"
|
||||
PAUSE_FILE="/shared/syncjob.pause"
|
||||
|
||||
echo "[syncjob] target: ${SYNC_URL}?processcount=${SYNC_PROCESSCOUNT}"
|
||||
echo "[syncjob] interval: ${SYNC_INTERVAL}s"
|
||||
|
||||
while true; do
|
||||
# 检查暂停信号(cronjob 执行期间会创建此文件)
|
||||
if [ -f "${PAUSE_FILE}" ]; then
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] PAUSED (${PAUSE_FILE} exists), skipping..."
|
||||
sleep "${SYNC_INTERVAL}"
|
||||
continue
|
||||
fi
|
||||
|
||||
RESULT=$(curl -sf -X POST "${SYNC_URL}?processcount=${SYNC_PROCESSCOUNT}" 2>&1)
|
||||
EXIT_CODE=$?
|
||||
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
if [ $EXIT_CODE -eq 0 ]; then
|
||||
echo "[${TIMESTAMP}] OK: ${RESULT}"
|
||||
else
|
||||
echo "[${TIMESTAMP}] FAIL(${EXIT_CODE}): ${RESULT}"
|
||||
fi
|
||||
|
||||
sleep "${SYNC_INTERVAL}"
|
||||
done
|
||||
Reference in New Issue
Block a user