Django Channels Worker возвращает TypeError: zadd() получил неожиданный аргумент ключевого слова 'daphne
На моем сервере я использую Daphne и Worker для каналов Django.
Я уже перезагрузил все контейнеры (я использую Docker), почистил Redis Cache.
Сегодня эти приложения перестали работать и возвращают этот стек:
KeyError: 'leads-198'
2019-03-27 13:51:59,719 - ERROR - worker - Error processing message with consumer crm.consumers.ws_connect:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/channels/worker.py", line 119, in run
consumer(message, **kwargs)
File "/usr/local/lib/python3.6/site-packages/channels/sessions.py", line 78, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/channels/auth.py", line 42, in inner
return func(message, *args, **kwargs)
File "/opt/app/integrador/crm/consumers.py", line 10, in ws_connect
Group(group).add(message.reply_channel)
File "/usr/local/lib/python3.6/site-packages/channels/channel.py", line 70, in add
self.channel_layer.group_add(self.name, channel)
File "/usr/local/lib/python3.6/site-packages/asgi_redis/core.py", line 291, in group_add
**{channel: time.time()}
TypeError: zadd() got an unexpected keyword argument 'daphne.response.lGekRGuTPv!bsgpJbNJLP'
crm - это мое приложение в Django
приводит-198 - это группа каналов
Requirements.txt:
boto3
coreapi
Джанго == 1,11
asgi_redis == 1.2.1
Каналы ==1.1.8
Дафна == 1.3
сельдерей ==4,1
PyMySQL
djangorestframework == 3.7.7
Джанго-OAuth-инструментарий == 0.12.0
Джанго-CORS-заголовки == 2.1.0
Джанго-Redis ==4.5.0
Джанго-хранилища == 1.5.1
Ворон == 5.30.0
jsonfield == 1.0.3
Запросы == 2.18.4
simplejson
пенообразование-PY3 == 1.3.2.0
xmltodict == 0.10.2
Любое предложение?
Спасибо
1 ответ
Если вы используете Redis версии 3.0 или выше, он не будет работать с каналами версии 1.1.8, поэтому вам необходимо установить Redis версии 2.10.6.
Кажется, мне удается заставить redis >=3 работать с каналами 1.1.8
(project) Jamess-MacBook-Pro-2:project jlin$ pip freeze | grep redis
asgi-redis==1.4.3
django-redis==4.8.0
redis==3.5.3
(project) Jamess-MacBook-Pro-2:project jlin$ pip freeze | grep channel
channels==1.1.8
(project) Jamess-MacBook-Pro-2:project jlin$ pip freeze | grep kombu
kombu==4.2.2.post1
Я обнаружил проблему.
Были версии libs. Ниже приведены новые требования.txt. Я обновляю asgi_redis и django-redis
boto3
Джанго == 1,11
asgi_redis == 1.4.3
Каналы ==1.1.8
Дафна == 1.3
сельдерей ==4,1
PyMySQL
djangorestframework == 3.7.7
Джанго-OAuth-инструментарий == 0.12.0
Джанго-CORS-заголовки == 2.1.0
Джанго-Redis==4.10.0
Джанго-хранилища ==1.5.1
Ворон == 5.30.0
jsonfield == 1.0.3
Запросы == 2.18.4
simplejson
пенообразование-PY3 == 1.3.2.0
xmltodict == 0.10.2