BETAmodules.com is in beta — open to partnerships & joint ventures.Build with us

redis_queued_locks

v1.16.2RubyGems· Ruby

|> Distributed locks with "prioritized lock acquisition queue" capabilities based on the Redis Database. |> Each lock request is put into the request queue (each lock is hosted by its own queue separately from other queues) and processed in order of their priority (FIFO). |> Each lock request lives some period of time (RTTL) (with requeue capabilities) which guarantees the request queue will never be stacked. |> In addition to the classic `queued` (FIFO) strategy RQL supports `random` (RANDOM) lock obtaining strategy when any acquirer from the lock queue can obtain the lock regardless the position in the queue. |> Provides flexible invocation flow, parametrized limits (lock request ttl, lock ttl, queue ttl, lock attempts limit, fast failing, etc), logging and instrumentation.

The verdict
Maintained. Niche but maintained, actively maintained.
Live from the RubyGems registry · derived rules, not AI
How it scores
MaintenanceHealthy
PopularityNiche
SecurityClean
LicensePermissive
DepsZero deps
Maintenance
Last published 4 months ago.
Popularity
911 downloads / week
Security
No known advisories for this version (OSV).
License
MIT
Dependencies
No runtime dependencies
Recent releases
  • 1.16.24 months ago
  • 1.16.14 months ago
  • 1.16.04 months ago
  • 1.15.17 months ago
  • 1.15.07 months ago
  • 1.14.07 months ago
  • 1.13.012 months ago
  • 1.12.1over a year ago
redis_queued_locks — |> Distributed locks with "prioritized lock acquisition queue" capabilities based on the Redis Database. |> Each lock request is put into the request queue (each lock is hosted by its own queue separately from other queues) and processed in order of their priority (FIFO). |> Each lock request lives some period of time (RTTL) (with requeue capabilities) which guarantees the request queue will never be stacked. |> In addition to the classic `queued` (FIFO) strategy RQL supports `random` (RANDOM) lock obtaining strategy when any acquirer from the lock queue can obtain the lock regardless the position in the queue. |> Provides flexible invocation flow, parametrized limits (lock request ttl, lock ttl, queue ttl, lock attempts limit, fast failing, etc), logging and instrumentation. (Ruby / RubyGems) · Modules