Redis Persistence ו-BullMQ Resilience
סקירה כללית
Agentix משתמשת ב-Redis עבור:- BullMQ queues
- rate-limit counters
- audit buffers
- conversation locks
REDIS_URL
1. Persistence ב-Railway Redis
ב-Railway Redis משתמשים בדרך כלל ב-RDB snapshots:- snapshots תקופתיים
- זמן התאוששות מהיר
- חלון אובדן אפשרי של שניות עד דקות
redis.conf, ולכן לא ניתן להכריח AOF או לשנות save intervals ידנית.
2. אימות שה-persistence פעיל
| Field | Expected |
|---|---|
rdb_last_save_time | timestamp עדכני |
rdb_changes_since_last_save | מספר נמוך |
rdb_bgsave_in_progress | 0 או 1 |
aof_enabled | לרוב 0 |
loading | 0 |
3. מה שורד restart
| סוג נתון | שורד? |
|---|---|
| BullMQ waiting jobs | כן |
| delayed jobs | כן |
| active jobs בזמן crash | משוחזרים דרך stall detection |
| rate-limit counters | בדרך כלל כן |
| audit buffer | חלקית |
| locks | משתחררים |
4. עמידות BullMQ
BullMQ מוגדר כך ש:- jobs קריטיים מקבלים מספר ניסיונות חוזרים
- backoff אקספוננציאלי מטפל בשגיאות זמניות
- stalled jobs מזוהים ומוחזרים לעיבוד
maxRetriesPerRequest: nullretryStrategyreconnectOnErrorenableReadyCheck: true
5. טיפול בתקלה
כאשר יש תקלה ב-Redis:- בדקו חיבוריות
- ודאו שהשירות רץ ב-Railway
- בדקו queue backlogs
- ודאו שה-workers מצליחים להתחבר מחדש
- בדקו
/health
- נתחו worker logs
- בדקו אם הייתה נפילת Redis
- החליטו אם צריך pause זמני ל-queues
6. Checklist לאחר התאוששות
-
/healthמחזירredis: ok - queues ממשיכים להתקדם
- אין reconnect loop בלתי נגמר
- אין הצטברות חריגה של failed jobs
- המערכת חזרה לעבד הודעות חדשות
7. מתי להסלים
הסלימו אם:- Redis לא חוזר תוך חלון זמן סביר
- queues לא מתאוששים למרות חיבוריות תקינה
- jobs קריטיים ממשיכים להיכשל
- קיימת השפעה רחבה על לקוחות או על workflow execution