我试图在我的应用程序的一小部分中使用带有Django的websockets。
尝试first example广播django-websocket-redis
的讯息from ws4redis.publisher import RedisPublisher
redis_publisher = RedisPublisher(facility='foobar', broadcast=True)
redis_publisher.publish_message('Hello World')
我实际上已将消息收到订阅的客户端,但我收到此错误:
'设置'错误的参数数量命令 [...] read_response,第344行异常位置 my_virtualenv / local / lib / python2.7 / site-packages / redis / connection.py
(追溯到publish_message()
电话)
我的版本:
Django==1.6.2
django-websocket-redis==0.4.0
redis==2.9.1
有人可以帮我调试吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
看起来这是一个错误。
修正:
在ws4redis.redis_store.RedisStore
的{{1}}中,更改
publish_message
到
self._connection.set(channel, message, ex=expire)
redis self._connection.setex(channel, expire, message)
命令不带第三个参数。我认为的意思是设置一个在几秒钟后过期的值,即redis SET
命令。 py-redis SETEX
方法称为setex
。
这解决了“'set'错误的参数错误。”