BUSY: BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE
RedisO que significa?
Um script Lua ou function de longa duração está em execução e excedeu busy-reply-threshold (chamado lua-time-limit antes do Redis 7; padrão 5000 ms). Como o Redis é single-threaded, ele não consegue processar outros comandos durante esse tempo; apenas SCRIPT KILL (FUNCTION KILL para functions) ou SHUTDOWN NOSAVE são aceitos.
Por que acontece?
Um loop infinito ou um script/function Lua de execução muito longa, computação pesada, um script iterando sobre grandes volumes de dados, ou uma chamada EVAL mal escrita.
Como resolver
Se o script não modificou dados, interrompa-o: SCRIPT KILL. Se o script já realizou gravações, SCRIPT KILL não funciona; como último recurso para preservar a consistência dos dados, pode ser necessário SHUTDOWN NOSAVE (dados não salvos são perdidos; tenha cuidado). Escreva scripts curtos e determinísticos. Divida operações longas em partes. Revise a configuração busy-reply-threshold (antes lua-time-limit).
Mais entradas deste banco
- 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)