From 59559e2e31c450f986bd2b454277fa8d6e4dfad3 Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Wed, 8 Jul 2026 20:06:45 +0330 Subject: [PATCH] feat: enhance diagnostics script and documentation for Redis connection issues --- docs/collect-diagnostics.sh | 3 +++ docs/ops-restarts.md | 1 + 2 files changed, 4 insertions(+) diff --git a/docs/collect-diagnostics.sh b/docs/collect-diagnostics.sh index 0cab3e98..dccca8ba 100755 --- a/docs/collect-diagnostics.sh +++ b/docs/collect-diagnostics.sh @@ -43,7 +43,10 @@ echo "=== 7. Redis memory ===" R="$(docker ps --format '{{.Names}}' | grep -i -m1 redis || true)" if [ -n "$R" ]; then docker exec "$R" redis-cli info memory 2>/dev/null | grep -E "used_memory_human|maxmemory_human|maxmemory_policy" + docker exec "$R" redis-cli info server 2>/dev/null | grep -E "uptime_in_seconds|uptime_in_days" docker exec "$R" redis-cli xlen messages 2>/dev/null && echo "(messages stream length above)" + echo "--- last redis logs:" + docker logs --tail 15 "$R" 2>&1 fi echo "" diff --git a/docs/ops-restarts.md b/docs/ops-restarts.md index 9c3c8ef3..0cdc27cb 100644 --- a/docs/ops-restarts.md +++ b/docs/ops-restarts.md @@ -142,6 +142,7 @@ free -h | بخش ۳: دیسک ≥ ۹۰٪ یا `*-json.log` چند GB | دیسک پر | log rotation در `daemon.json` + پاکسازی | | بخش ۷: `maxmemory: 0` و `used_memory` بزرگ/رشد‌کننده | Redis بی‌سقف | `maxmemory 256mb` + `maxmemory-policy volatile-lru` | | بخش ۶: `memory_limit` هنوز `1024M` | image قدیمی در حال اجراست | Redeploy نشده — دوباره deploy کنید | +| لاگ worker: `[critical] ... "socket error on read socket"` (Connection.php) | اتصال Redis وسط کار قطع شده — تقریباً همیشه یعنی خود Redis مرده/ری‌استارت شده (OOM) | بخش ۷ اسکریپت: `uptime_in_seconds` کوچک Redis = ری‌استارت شده؛ `maxmemory 256mb` + `volatile-lru` بگذارید و `docker logs ` را ببینید | | هیچ‌کدام | فرضیه حافظه/دیسک رد شد | خروجی کامل اسکریپت + ۵۰ خط آخر لاگ قبل از down را برای تحلیل بفرستید | ### چرا این اتفاق می‌افتاد (و فیکس اعمال‌شده)