gpt4 book ai didi

redis-py 引发 AttributeError

转载 作者:行者123 更新时间:2023-12-01 12:55:13 29 4
gpt4 key购买 nike

在什么情况下会redis-py引发以下 AttributeError 异常?
redis-py 不是设计来引发仅基于 redis.exceptions.RedisError 的异常吗?
什么是合理的处理逻辑?

Traceback (most recent call last):
File "c:\Python27\Lib\threading.py", line 551, in __bootstrap_inner
self.run()
File "c:\Python27\Lib\threading.py", line 504, in run
self.__target(*self.__args, **self.__kwargs)
File C:\Users\Administrator\Documents\my_proj\my_module.py", line 33, in inner
ret = protected_func(*args, **kwargs)
File C:\Users\Administrator\Documents\my_proj\my_module.py", line 104, in _listen
for message in _pubsub.listen():
File "C:\Users\Administrator\virtual_environments\my_env\lib\site-packages\redis\client.py", line 1555, in listen
r = self.parse_response()
File "C:\Users\Administrator\virtual_environments\my_env\lib\site-packages\redis\client.py", line 1499, in parse_response
response = self.connection.read_response()
File "C:\Users\Administrator\virtual_environments\my_env\lib\site-packages\redis\connection.py", line 306, in read_response
response = self._parser.read_response()
File "C:\Users\Administrator\virtual_environments\my_env\lib\site-packages\redis\connection.py", line 104, in read_response
response = self.read()
File "C:\Users\Administrator\virtual_environments\my_env\lib\site-packages\redis\connection.py", line 89, in read
return self._fp.readline()[:-2]
AttributeError: 'NoneType' object has no attribute 'readline'

最佳答案

好像是个老问题,最近遇到了同样的问题。我的设置是使用 celery 和 redis 作为代理。 ThreadPoolExecutor 使用共享的 celery 对象将任务批处理给工作人员。批处理函数使用 celery.result.ResultSet 等待提交的任务完成。

经过快速调查,我发现某个地方的 celery 使用发布/订阅机制来等待任务完成。就是这样,根据官方自述文件,pub/sub 在线程安全方面表现不佳 https://github.com/andymccurdy/redis-py#thread-safety

老实说,我并没有试图证明我的理论,而是通过切换到 ProcessPoolExecutor 来解决我的问题。

关于redis-py 引发 AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19793379/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com