Class: Sidekiq::PriorityQueue::Client
- Inherits:
-
Object
- Object
- Sidekiq::PriorityQueue::Client
- Includes:
- TestingClient
- Defined in:
- lib/sidekiq/priority_queue/client.rb
Instance Method Summary collapse
-
#call(worker_class, item, queue, redis_pool) ⇒ Object
inserted into Sidekiq’s Client as middleware.
Methods included from TestingClient
Instance Method Details
#call(worker_class, item, queue, redis_pool) ⇒ Object
inserted into Sidekiq’s Client as middleware
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/sidekiq/priority_queue/client.rb', line 6 def call(worker_class, item, queue, redis_pool) if item['priority'] sadd('priority-queues', queue) zadd(queue, item['priority'], item) return item['jid'] elsif item['subqueue'] # replace the proc with what it returns sadd('priority-queues', queue) item['subqueue'] = resolve_subqueue(item['subqueue'], item['args']) priority = fetch_and_add(queue, item['subqueue'], item) zadd(queue, priority, item) return item['jid'] else # continue pushing the normal Sidekiq way yield end end |