akira / exq

Job processing library for Elixir - compatible with Resque / Sidekiq
Other
1.48k stars 181 forks source link

RPOPLPUSH not supported when use envoy as a proxy #489

Open bighunter513 opened 1 month ago

bighunter513 commented 1 month ago

when I connect to a proxy use envoy to aws redis cluster, I encountered the problem: Redis Error [error: {:error, {%Redix.Error{message: "unsupported command 'RPOPLPUSH'"}

I checked redis doc, it suggest use LMOVE to replace LPOPRPUSH , and I tried out it was ok behind envoy so can you add LMOVE support later ?

` redis-cli -p 7480 ## which connect to envoy 1.30

127.0.0.1:7480> RPUSH {list}:list1 "one" (integer) 1 127.0.0.1:7480> RPUSH {list}:list1 "two" (integer) 2 127.0.0.1:7480> RPUSH {list}:list1 "three" (integer) 3 127.0.0.1:7480> LMOVE {list}:list1 {list}:list2 LEFT RIGHT "one" 127.0.0.1:7480> LMOVE {list}:list1 {list}:list2 RIGHT LEFT "three"`

ananthakumaran commented 1 month ago

Since this was not supported before 6.2, we would have to drop support for <6.2. I don't know how many users still use <6.2.

bighunter513 commented 1 month ago

Since this was not supported before 6.2, we would have to drop support for <6.2. I don't know how many users still use <6.2.

maybe add a option to let user choose ? or use tag version ?

ananthakumaran commented 1 month ago

maybe add a option to let user choose ?

This may be better, I am open to a PR

Also, can you expand a bit on the problem. is it an issue on envoy or redis itself doesn't support it?