django / channels_redis

Redis channel layer backend for Django Channels

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Serverless AWS Redis results in `redis.exceptions.ResponseError: Lua scripts without any input keys are not supported.`

Jonathan-Landeed opened this issue · comments

Works on "design your own cache" redis clusters but not serverless (engine version 7.1 for both).

Running daphne in docker on aws ec2.

Traceback:

[1] [ERROR] Exception inside application: Lua scripts without any input keys are not supported.
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/channels/routing.py", line 62, in __call__
    return await application(scope, receive, send)
  File "/app/./landeed_api/asgi.py", line 54, in __call__
    return await self.application(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/channels/security/websocket.py", line 37, in __call__
    return await self.application(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/channels/sessions.py", line 47, in __call__
    return await self.inner(dict(scope, cookies=cookies), receive, send)
  File "/usr/local/lib/python3.10/site-packages/channels/sessions.py", line 263, in __call__
    return await self.inner(wrapper.scope, receive, wrapper.send)
  File "/usr/local/lib/python3.10/site-packages/channels/auth.py", line 185, in __call__
    return await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/channels/middleware.py", line 24, in __call__
    return await self.inner(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/channels/routing.py", line 116, in __call__
    return await application(
  File "/usr/local/lib/python3.10/site-packages/channels/consumer.py", line 94, in app
    return await consumer(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/channelsmultiplexer/demultiplexer.py", line 61, in __call__
    await future
  File "/usr/local/lib/python3.10/site-packages/channels/consumer.py", line 94, in app
    return await consumer(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/channels/consumer.py", line 58, in __call__
    await await_many_dispatch(
  File "/usr/local/lib/python3.10/site-packages/channels/utils.py", line 57, in await_many_dispatch
    await task
redis.exceptions.ResponseError: Lua scripts without any input keys are not supported.

Pip freeze:

asgiref==3.7.2
attrs==23.2.0
autobahn==23.6.2
Automat==22.10.0
cffi==1.16.0
channels==4.0.0
channels-redis==4.2.0
channelsmultiplexer==0.0.3
constantly==23.10.4
cryptography==41.0.7
daphne==4.0.0
Django==4.2.9
djangochannelsrestframework==1.2.0
djangorestframework==3.14.0
hyperlink==21.0.0
idna==3.6
incremental==22.10.0
msgpack==1.0.7
pyasn1==0.5.1
pyasn1-modules==0.3.0
pycparser==2.21
pyOpenSSL==23.3.0
pytz==2023.3.post1
redis==5.0.1
service-identity==24.1.0
six==1.16.0
sqlparse==0.4.4
Twisted==23.10.0
txaio==23.1.1
typing_extensions==4.9.0
zope.interface==6.1

Grrr. There's not going to be anything we can do about this.

The PubSub channel layer doesn't use Lua so you could try that.