You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using the multi command.
if let multi = redisDB?.multi()
multi.lrange(dataflow.redisQueue, start: 0, end: len)
multi.ltrim(dataflow.redisQueue, start: len+1, end: -1) //get len amount and remove atomically.
multi.exec({ (response) in
Under high load I get errors from other threads (doing an rpush)
Error Domain=RedisDomain Code=2 "Unexpected result received from Redis Status("QUEUED")"
It seems that the multi command is either not atomic or does not block access to the redis server to other commands while it is queuing commands.
Can I use the multi command while in a threaded environment?
The text was updated successfully, but these errors were encountered:
I'm using the multi command.
if let multi = redisDB?.multi()
multi.lrange(dataflow.redisQueue, start: 0, end: len)
multi.ltrim(dataflow.redisQueue, start: len+1, end: -1) //get len amount and remove atomically.
multi.exec({ (response) in
Under high load I get errors from other threads (doing an rpush)
Error Domain=RedisDomain Code=2 "Unexpected result received from Redis Status("QUEUED")"
It seems that the multi command is either not atomic or does not block access to the redis server to other commands while it is queuing commands.
Can I use the multi command while in a threaded environment?
The text was updated successfully, but these errors were encountered: