首页 > 解决方案 > 命令:在redis集群模式下WAIT被阻塞

问题描述

我正在使用 Redis 集群。我设置了 3 个 master,每个 master 有 1 个副本。我正在使用 redis-py-cluster 作为客户端。在运行等待命令以同步对副本的写入时,我收到以下错误:

""" Traceback(最近一次调用最后):文件“/usr/lib64/python3.6/concurrent/futures/process.py”,第 175 行,在 _process_worker r = call_item.fn(*call_item.args, **call_item .kwargs) 文件“test_redis_new_wait.py”,第 235 行,在 method_time_calculator 方法(*args) 文件“test_redis_new_wait.py”,第 41 行,在 setnx do_wait() 文件“test_redis_new_wait.py”,第 31 行,在 do_wait CLIENT.wait (WAIT,WAIT_TIMEOUT)文件“/home/vaibhavgrover/redis_benchmarking/venv/lib64/python3.6/site-packages/redis/client.py”,第1490行,等待返回self.execute_command('WAIT',num_replicas,超时) 文件“/home/vaibhavgrover/redis_benchmarking/venv/lib64/python3.6/site-packages/rediscluster/client.py”,第 555 行,在 execute_command return self._execute_command(*args, **kwargs) 文件中“/home/vaibhavgrover/redis_benchmarking/venv/lib64/python3.6/site-packages/rediscluster/client.py”,第 579 行,在 _execute_command 节点 = self.determine_node(*args, **kwargs) 文件“/home/vaibhavgrover /redis_benchmarking/venv/lib64/python3.6/site-packages/rediscluster/client.py”,第 527 行,在确定节点返回阻塞_命令(自我,命令)文件“/home/vaibhavgrover/redis_benchmarking/venv/lib64/python3.6 /site-packages/rediscluster/utils.py",第 46 行,在blocked_command 中引发RedisClusterException("Command: {0} is blocked in redis cluster mode".format(command)) rediscluster.exceptions.RedisClusterException: Command: WAIT is blocked在 redis 集群模式下"""确定节点(*args,**kwargs)文件“/home/vaibhavgrover/redis_benchmarking/venv/lib64/python3.6/site-packages/rediscluster/client.py”,第527行,在确定节点返回阻塞_命令(自我,命令)文件“/home/vaibhavgrover/redis_benchmarking/venv/lib64/python3.6/site-packages/rediscluster/utils.py”,第 46 行,blocked_command raise RedisClusterException("Command: {0} is blocked in redis cluster mode".format (command)) rediscluster.exceptions.RedisClusterException: Command: WAIT is blocked in redis cluster mode """确定节点(*args,**kwargs)文件“/home/vaibhavgrover/redis_benchmarking/venv/lib64/python3.6/site-packages/rediscluster/client.py”,第527行,在确定节点返回阻塞_命令(自我,命令)文件“/home/vaibhavgrover/redis_benchmarking/venv/lib64/python3.6/site-packages/rediscluster/utils.py”,第 46 行,blocked_command raise RedisClusterException("Command: {0} is blocked in redis cluster mode".format (command)) rediscluster.exceptions.RedisClusterException: Command: WAIT is blocked in redis cluster mode """6/site-packages/rediscluster/utils.py",第 46 行,在blocked_command 中引发RedisClusterException("Command: {0} is blocked in redis cluster mode".format(command)) rediscluster.exceptions.RedisClusterException: Command: WAIT is在 redis 集群模式下被阻塞 """6/site-packages/rediscluster/utils.py",第 46 行,在blocked_command 中引发RedisClusterException("Command: {0} is blocked in redis cluster mode".format(command)) rediscluster.exceptions.RedisClusterException: Command: WAIT is在 redis 集群模式下被阻塞 """

这是说在redis集群模式下等待被阻止。但我可以在 redis-cli -c 实用程序中运行等待命令。

谢谢

标签: pythonredis

解决方案


推荐阅读