优化wait-for-it.sh脚本,设置60秒超时,删除调试代码
Some checks failed
Agent Tests / Lint and Format (push) Has been cancelled
Agent Tests / Unit Tests (push) Has been cancelled

This commit is contained in:
jingrow 2025-05-14 19:23:41 +08:00
parent cbc18befb5
commit ad9cf38f12

View File

@ -4,37 +4,23 @@ URL=$1
TIMEOUT=60 # 60秒超时
COUNT=0
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 开始等待 Redis 服务启动"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Redis URL: ${URL}"
echo "等待 Redis 服务启动 (${URL})..."
while [ $COUNT -lt $TIMEOUT ]
do
# 尝试连接 Redis 并捕获输出
REDIS_OUTPUT=$(redis-cli -u $URL PING 2>&1)
REDIS_STATUS=$?
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 尝试连接 Redis (${COUNT}/${TIMEOUT})"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Redis 响应: ${REDIS_OUTPUT}"
if [ $REDIS_STATUS -eq 0 ] && echo "$REDIS_OUTPUT" | grep -q PONG; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Redis 服务已就绪"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Redis 连接成功,退出等待"
if redis-cli -u $URL PING | grep -q PONG; then
echo "Redis 服务已就绪"
exit 0
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Redis 连接失败,状态码: ${REDIS_STATUS}"
fi
COUNT=$((COUNT + 1))
if [ $COUNT -eq $TIMEOUT ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 错误: Redis 服务在 ${TIMEOUT} 秒内未就绪"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 最后一次尝试结果: ${REDIS_OUTPUT}"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 退出等待"
echo "错误: Redis 服务在 ${TIMEOUT} 秒内未就绪"
exit 1
fi
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 等待 1 秒后重试..."
echo "等待 Redis 服务... (${COUNT}/${TIMEOUT})"
sleep 1
done
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 脚本异常退出"
exit 1