BUSY: BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE (Redis occupé par l'exécution d'un script)
RedisQue signifie cette erreur ?
Un script Lua ou une fonction de longue durée est en cours d'exécution et a dépassé busy-reply-threshold (nommé lua-time-limit avant Redis 7 ; 5000 ms par défaut). Redis étant mono-thread, il ne peut pas traiter d'autres commandes pendant ce temps ; seules SCRIPT KILL (FUNCTION KILL pour les fonctions) ou SHUTDOWN NOSAVE sont acceptées.
Cause
Boucle infinie ou script/fonction Lua de très longue durée, calcul lourd, script bouclant sur de grandes données, ou appel EVAL mal écrit.
Comment la corriger
Si le script n'a pas modifié de données, arrêtez-le : SCRIPT KILL. Si le script a déjà effectué des écritures, SCRIPT KILL ne fonctionne pas ; en dernier recours, pour préserver la cohérence des données, SHUTDOWN NOSAVE peut être nécessaire (les données non sauvegardées sont perdues ; soyez prudent). Écrivez des scripts courts et déterministes. Découpez les opérations longues en morceaux. Revoyez le paramètre busy-reply-threshold (anciennement lua-time-limit).
Autres entrées pour ce moteur
- MASTERDOWNMASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no' (lien avec le master coupé)
- CLUSTERDOWNCLUSTERDOWN The cluster is down / Hash slot not served (cluster indisponible / hash slot non servi)
- LOADINGLOADING Redis is loading the dataset in memory (Redis charge le jeu de données en mémoire)
- MISCONFMISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk (persistance sur disque impossible)
- CROSSSLOTCROSSSLOT Keys in request don't hash to the same slot (les clés de la requête ne sont pas dans le même slot)
- MOVEDMOVED slot ip:port (redirection du cluster)
- ASKASK slot ip:port (redirection du cluster)