Class: AsyncCache::Workers::SidekiqWorker

Inherits:
Object
  • Object
show all
Includes:
Base, Sidekiq::Worker
Defined in:
lib/async_cache/workers/sidekiq.rb

Class Method Summary collapse

Methods included from Base

#perform

Class Method Details

.enqueue_async_job(key:, version:, expires_in:, block:, arguments:) ⇒ Object



28
29
30
# File 'lib/async_cache/workers/sidekiq.rb', line 28

def self.enqueue_async_job(key:, version:, expires_in:, block:, arguments:)
  self.perform_async key, version, expires_in, arguments, block
end

.has_workers?Boolean

Use the Sidekiq API to see if there are worker processes available to handle the async cache jobs queue.

Returns:

  • (Boolean)


15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/async_cache/workers/sidekiq.rb', line 15

def self.has_workers?
  target_queue = self.sidekiq_options['queue'].to_s

  processes = Sidekiq::ProcessSet.new.to_a
  queues_being_processed = processes.flat_map { |p| p['queues'] }

  if queues_being_processed.include? target_queue
    true
  else
    false
  end
end