BUSY: BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE
RedisNe 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.
Aynı motorda diğer kayıtlar
- MASTERDOWNMASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'
- CLUSTERDOWNCLUSTERDOWN The cluster is down / Hash slot not served
- LOADINGLOADING Redis is loading the dataset in memory
- MISCONFMISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk
- CROSSSLOTCROSSSLOT Keys in request don't hash to the same slot
- MOVEDMOVED slot ip:port (cluster redirect)
- ASKASK slot ip:port (cluster redirect)