apache / openwhisk-apigateway

Apache OpenWhisk API Gateway service for exposing actions as REST interfaces.
https://openwhisk.apache.org/
Apache License 2.0
64 stars 45 forks source link

The method _M.getSubscriptions in redis.lua does not support RedisCluster??? #384

Open yangxiuchengv5 opened 3 years ago

yangxiuchengv5 commented 3 years ago

function M.getSubscriptions(red, artifactId, tenantId, snapshotId) local res = red:scan(0, "match", utils.concatStrings({"subscriptions:tenant:", tenantId, ":api:", artifactId, ":*"})) local cursor = res[1] local subscriptions = {} for , v in pairs(res[2]) do local matched = {string.match(v, "subscriptions:tenant:([^:]+):api:([^:]+):([^:]+):([^:]+):")} subscriptions[#subscriptions + 1] = matched[4] end while cursor ~= "0" do res = red:scan(cursor, "match", utils.concatStrings({"subscriptions:tenant:", tenantId, ":api:", artifactId, ":"})) cursor = res[1] for _, v in pairs(res[2]) do local matched = {string.match(v, "subscriptions:tenant:([^:]+):api:([^:]+):([^:]+):([^:]+):*")} subscriptions[#subscriptions + 1] = matched[4] end end return subscriptions end

yangxiuchengv5 commented 3 years ago

The REDIS cluster does not support the SCAN directive