2
아쉽게도 redis-py 라이브러리에는 Monitor 루틴이없는 것 같습니다. 내가 redis 서버에 의해받은 모든 명령을 읽고, 그들을 필터링하고 내가 관심있는 것들을 기록하고 싶습니다. 아무도이 일을하는 방법에 대한 아이디어가 있습니까?redis-py를 사용하여 python 스크립트에서 redis MONITOR 명령을 어떻게 모방 할 수 있습니까?
아쉽게도 redis-py 라이브러리에는 Monitor 루틴이없는 것 같습니다. 내가 redis 서버에 의해받은 모든 명령을 읽고, 그들을 필터링하고 내가 관심있는 것들을 기록하고 싶습니다. 아무도이 일을하는 방법에 대한 아이디어가 있습니까?redis-py를 사용하여 python 스크립트에서 redis MONITOR 명령을 어떻게 모방 할 수 있습니까?
다음은 Python으로 모니터 코드를 구현하는 데 필요한 최소 코드입니다.
참고 :
import redis class Monitor(): def __init__(self, connection_pool): self.connection_pool = connection_pool self.connection = None def __del__(self): try: self.reset() except: pass def reset(self): if self.connection: self.connection_pool.release(self.connection) self.connection = None def monitor(self): if self.connection is None: self.connection = self.connection_pool.get_connection( 'monitor', None) self.connection.send_command("monitor") return self.listen() def parse_response(self): return self.connection.read_response() def listen(self): while True: yield self.parse_response() if __name__ == '__main__': pool = redis.ConnectionPool(host='localhost', port=6379, db=0) monitor = Monitor(pool) commands = monitor.monitor() for c in commands : print(c)
가 아주 좋은 오류 처리의 모든 종류의 작업을 수행하지 않습니다 간단해야한다. 멋지게 작동합니다! 정말 고맙습니다. – PIntag
내 노트에서이 스크립트를 실행하면 셀이 계속 실행되며 이에 대한 해결 방법을 찾을 수 없습니다. 어떤 제안? –