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

Другие вопросы по тегам