python - 命令:在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 实用程序中运行等待命令。
谢谢
解决方案
推荐阅读
- python - 如何识别python中两个列表之间的关系/映射?
- java - JavaMail Client was not authenticated to send anonymous mail during MAIL FROM
- python - Exception ("Cannot access a disposed object") thrown when trying to install packages in IronPython via pip
- php - Laravel 默认辅助方法和外观不适用于自定义包
- r - ggmap:带跋涉的空数据框
- mysql - 调度每周脚本以重建 Mysql 索引
- apache-spark - Spark结构化流水印错误
- javascript - 在 animatecc 脚本之外访问 createjs 函数
- php - 如何在不编辑核心文件的情况下更改 Wordpress 核心数据库功能?
- python - ImportError: No module named... 在 Jupyter Notebook 上使用 docker