DBAtlas · Atlas de operações de banco de dados

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

Redis

O 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).

Abrir no DBAtlas →

Mais entradas deste banco