DBAtlas · Atlas de operaciones de bases de datos

BUSY: BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE (Redis está ocupado ejecutando un script)

Redis

¿Qué significa?

Se está ejecutando un script Lua o una function de larga duración que ha superado busy-reply-threshold (llamado lua-time-limit antes de Redis 7; por defecto 5000 ms). Como Redis es de un solo hilo, no puede procesar otros comandos durante ese tiempo; solo se acepta SCRIPT KILL (FUNCTION KILL para functions) o SHUTDOWN NOSAVE.

¿Por qué ocurre?

Un bucle infinito o un script Lua/function de muy larga duración, cálculo pesado, un script que recorre datos grandes o una llamada EVAL mal escrita.

Cómo solucionarlo

Si el script no ha modificado datos, deténgalo: SCRIPT KILL. Si el script ya ha realizado escrituras, SCRIPT KILL no funciona; como último recurso para preservar la consistencia de los datos, puede ser necesario SHUTDOWN NOSAVE (los datos no guardados se pierden; tenga cuidado). Escriba scripts cortos y deterministas. Divida las operaciones largas en fragmentos. Revise el parámetro busy-reply-threshold (antes lua-time-limit).

Abrir en DBAtlas →

Más entradas de este motor