Open
Description
channels_redis uses .eval()
in a number of locations.
On certain redis server installations EVAL
has been renamed for security reasons.
Pivotal's Shared Redis Release is an example of a pre-packaged redis that has EVAL
renamed by default.
Under those circumstances, this happens:
Traceback (most recent call last):
result = task.result()
File "python/lib/python3.9/site-packages/channels_redis/core.py", line 492, in receive
message_channel, message = await self.receive_single(
File "python/lib/python3.9/site-packages/channels_redis/core.py", line 547, in receive_single
content = await self._brpop_with_clean(
File "python/lib/python3.9/site-packages/channels_redis/core.py", line 383, in _brpop_with_clean
await connection.eval(cleanup_script, keys=[], args=[channel, backup_queue])
aioredis.errors.ReplyError: ERR unknown command `EVAL`, with args beginning with: ` local backed_up = redis.call('ZRANGE', ARGV[2], 0, -1, 'WITHSCORES') for i = #backed_up, 1, -2 do `,
It would be great if EVAL
could be removed as a requirement.
Tangentially related: #226
Metadata
Metadata
Assignees
Labels
No labels