DBAtlas · 데이터베이스 운영 아틀라스

NOTBUSY No scripts in execution right now: No scripts in execution right now

Redis

의미

SCRIPT KILL 또는 FUNCTION KILL을 보냈지만 현재 실행 중인(그리고 kill 가능한) Lua 스크립트/함수가 없다. 종료할 대상이 없어 명령이 거부되었다.

원인

중지하려 했을 때 스크립트가 이미 끝났거나, SCRIPT KILL을 잘못된 노드로 보냈거나(스크립트는 다른 인스턴스에서 실행 중), SCRIPT KILL 전에 BUSY 상태가 스스로 해소된 경우다. 보통 타이밍 문제다.

해결 방법

실제로 멈춘 스크립트가 없다면 할 일이 없다. 안전한/정보성 응답이다. BUSY 오류가 발생하면(스크립트가 busy-reply-threshold를 초과, Redis 7 이전에는 lua-time-limit), 스크립트가 실행 중인 올바른 노드에서 SCRIPT KILL(함수는 FUNCTION KILL)을 시도한다. 스크립트가 데이터를 수정했다면 SCRIPT KILL이 동작하지 않으며, 최후의 수단으로 SHUTDOWN NOSAVE가 필요할 수 있다. 긴 스크립트는 나누고 시간 한도를 지킨다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목