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
3 Réponses :
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
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.
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