redis-semaphore icon indicating copy to clipboard operation
redis-semaphore copied to clipboard

A distributed semaphore and mutex built on Redis.

Results 26 redis-semaphore issues
Sort by recently updated
recently updated
newest added

There's been no responses by any maintainers to any issues in... a very long time. I have no problem with a project being abandoned, I know these things happen. But...

The documentation says `For most situations just using the delete! command should suffice to remove all semaphore keys from the server after you're done using the semaphore.` When exactly would...

# Problem You can kill the app in `def lock` just after the lpop of the available_key When that happens the semaphore is gone forever. To fix it you have...

If client A tries to unlock: https://github.com/dv/redis-semaphore/blob/865304527a4c673d66db30bf940e35d29e94c303/lib/redis/semaphore.rb#L89 and the `hexists` returns true. Then afterwards a different client (B) cleans up expired keys https://github.com/dv/redis-semaphore/blob/865304527a4c673d66db30bf940e35d29e94c303/lib/redis/semaphore.rb#L142 moving them from the hset into the...

If the process running "redis-semaphore" dies after `blpop` (or `lpop`) and before `hset` then the the key is lost for good https://github.com/dv/redis-semaphore/blob/master/lib/redis/semaphore.rb#L65-L73 https://github.com/dv/redis-semaphore/blob/865304527a4c673d66db30bf940e35d29e94c303/lib/redis/semaphore.rb#L65-L73 I don't think you can use a...

I am using gem version 0.3.1. For some reason, I occasionally can't release a stale lock. I have described my debugging process below and would like to know if anyone...

Works: ``` i = 0 threads = [1, 2].collect do Thread.new do Redis::Semaphore.new("foo", :redis => Redis.new(:db => 15)).lock do i += 1 end end end threads.each &:join i.should == 2...

When you have many semaphore instances with the same key, only the one that called `lock` knows that the semaphore is locked, but all of them should find the correct...