1
votes

Django Channels Worker renvoie TypeError: zadd () a obtenu un argument de mot clé inattendu 'daphne

Dans mon serveur, j'exécute un Daphne et un Worker pour les canaux Django.

J'ai déjà redémarré tous les conteneurs (j'utilise Docker), nettoyé le cache Redis.

Aujourd'hui, ces applications se sont arrêtées pour travailler et renvoyer cette pile:

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 - est mon application dans Django

leads-198 - est le groupe de canaux

Requirements.txt:

boto3

coreapi

Django == 1.11

asgi_redis == 1.2.1

channels==1.1.8

daphne==1.3

celery==4.1

PyMySQL

djangorestframework == 3.7 .7

django-oauth-toolkit == 0.12.0

django-cors-headers == 2.1.0

django-redis == 4.5. 0

django-storages == 1.5.1

raven == 5.30.0

jsonfield == 1.0.3

requêtes == 2.18.4

simplejson

suds-py3 == 1.3.2.0

xmltodict == 0.10.2

Toute suggestion ?

Merci


0 commentaires

3 Réponses :


1
votes

Je découvre le problème.

Étaient les versions de libs. Ci-dessous, il y a le nouveau requirements.txt. Je mets à jour asgi_redis et django-redis

boto3

Django == 1.11

asgi_redis == 1.4.3

chaînes == 1.1.8

daphné == 1.3

céleri == 4.1

PyMySQL

djangorestframework == 3.7.7

django-oauth-toolkit == 0.12.0

django-cors-headers == 2.1.0

django-redis == 4.10.0

django-storages == 1.5.1

corbeau == 5.30.0

jsonfield == 1.0.3

demandes == 2.18.4

simplejson

suds-py3 == 1.3.2.0

xmltodict == 0.10.2


0 commentaires

2
votes

Si vous utilisez Redis version 3.0 ou supérieure, cela ne fonctionnera pas avec les chaînes version 1.1.8, vous devez donc installer la version 2.10.6 de redis.


0 commentaires

1
votes

Il semble que je puisse obtenir des redis> = 3 en travaillant avec les chaînes 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


0 commentaires