redis-objects
redis-objects copied to clipboard
Lock expiration does not work on Single Table Inheritance objects.
Imagine a base class called service
class Service < ActiveRecord::Base
include Redis::Objects
lock :mylock, :expiration => 15.minutes, :timeout => 10.seconds
end
And two subclasses Service 1
class Service1 < Service
end
and Service 2
class Service2 < Service
end
Now you can call
Service.first.mylock_lock.lock.do
sleep 60
end
and when you check the redis lock object you will see a 1 instead of a timestamp. Any idea why this is not working as expected?
Thanks!
Sorry for my delay. Can you see if manually overriding the redis_prefix
works?
class Service2 < Service
self.redis_prefix = 'service2'
end
CC @tmsrjs seems like this one may either be a complex issue, or not a bug at all.