Module: Waitmate::Store
- Defined in:
- lib/waitmate/store.rb,
lib/waitmate/store/redis.rb,
lib/waitmate/store/solid_cache.rb
Overview
Public seam for all queue/storage operations. Host controllers and engine UI
call Waitmate::Store, never a concrete adapter.
Defined Under Namespace
Classes: ConfigurationError, ConnectionError, Error, Redis, SolidCache
Class Attribute Summary collapse
Class Method Summary collapse
-
.active_count(queue_name) ⇒ Object
active_count(queue_name) -> Integer.
-
.admit(queue_name, max_concurrent, count: max_concurrent) ⇒ Object
admit(queue_name, max_concurrent, count: max_concurrent) -> Array
. -
.enqueue(queue_name, identity, ttl: nil) ⇒ Object
enqueue(queue_name, identity, ttl: nil) -> Integer (1-based position) or 0 (already active).
-
.expire_stale(queue_name) ⇒ Object
expire_stale(queue_name) -> Hash Integer, active: Integer.
-
.heartbeat(queue_name, identity, ttl: nil) ⇒ Object
heartbeat(queue_name, identity, ttl: nil) -> Boolean.
-
.position(queue_name, identity) ⇒ Object
position(queue_name, identity) -> Integer (1-based), 0 (active), or nil.
-
.release(queue_name, identity) ⇒ Object
release(queue_name, identity) -> Boolean.
- .reset_adapter! ⇒ Object
Class Attribute Details
.adapter ⇒ Object
49 50 51 |
# File 'lib/waitmate/store.rb', line 49 def adapter @adapter ||= build_adapter(Waitmate.configuration.adapter) end |
Class Method Details
.active_count(queue_name) ⇒ Object
active_count(queue_name) -> Integer
25 26 27 |
# File 'lib/waitmate/store.rb', line 25 def active_count(queue_name) adapter.active_count(queue_name) end |
.admit(queue_name, max_concurrent, count: max_concurrent) ⇒ Object
admit(queue_name, max_concurrent, count: max_concurrent) -> Array
30 31 32 |
# File 'lib/waitmate/store.rb', line 30 def admit(queue_name, max_concurrent, count: max_concurrent) adapter.admit(queue_name, max_concurrent, count: count) end |
.enqueue(queue_name, identity, ttl: nil) ⇒ Object
enqueue(queue_name, identity, ttl: nil) -> Integer (1-based position) or 0 (already active)
15 16 17 |
# File 'lib/waitmate/store.rb', line 15 def enqueue(queue_name, identity, ttl: nil) adapter.enqueue(queue_name, identity, ttl: ttl) end |
.expire_stale(queue_name) ⇒ Object
expire_stale(queue_name) -> Hash Integer, active: Integer
45 46 47 |
# File 'lib/waitmate/store.rb', line 45 def expire_stale(queue_name) adapter.expire_stale(queue_name) end |
.heartbeat(queue_name, identity, ttl: nil) ⇒ Object
heartbeat(queue_name, identity, ttl: nil) -> Boolean
40 41 42 |
# File 'lib/waitmate/store.rb', line 40 def heartbeat(queue_name, identity, ttl: nil) adapter.heartbeat(queue_name, identity, ttl: ttl) end |
.position(queue_name, identity) ⇒ Object
position(queue_name, identity) -> Integer (1-based), 0 (active), or nil
20 21 22 |
# File 'lib/waitmate/store.rb', line 20 def position(queue_name, identity) adapter.position(queue_name, identity) end |
.release(queue_name, identity) ⇒ Object
release(queue_name, identity) -> Boolean
35 36 37 |
# File 'lib/waitmate/store.rb', line 35 def release(queue_name, identity) adapter.release(queue_name, identity) end |
.reset_adapter! ⇒ Object
55 56 57 |
# File 'lib/waitmate/store.rb', line 55 def reset_adapter! @adapter = nil end |