DBAtlas · Veritabanı operasyon atlası

BUSY: BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE

Redis

Ne demek?

Uzun süren bir Lua script veya fonksiyon çalışıyor ve busy-reply-threshold süresini (Redis 7 öncesindeki adıyla lua-time-limit; varsayılan 5000 ms) aştı. Redis tek thread'li olduğundan bu süre boyunca başka komut işleyemez; yalnızca SCRIPT KILL (fonksiyonlar için FUNCTION KILL) veya SHUTDOWN NOSAVE kabul edilir.

Neden olur?

Sonsuz döngü veya çok uzun süren Lua script/fonksiyon, ağır hesaplama, büyük veri üzerinde döngüsel işlem yapan script veya kötü yazılmış EVAL çağrısı.

Nasıl çözülür?

Script veri değiştirmediyse durdurun: SCRIPT KILL. Eğer script zaten yazma yaptıysa SCRIPT KILL çalışmaz; veri tutarlılığını korumak için son çare olarak SHUTDOWN NOSAVE gerekebilir (kaydedilmemiş veriler kaybolur, dikkatli olun). Script'leri kısa ve deterministik yazın. Uzun işlemleri parçalara bölün. busy-reply-threshold (eski adıyla lua-time-limit) ayarını gözden geçirin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar