class AsyncCache::Workers::SidekiqWorker

Public Class Methods

clear() click to toggle source
# File lib/async_cache/workers/sidekiq.rb, line 37
def self.clear
  queue = Sidekiq::Queue.new sidekiq_queue

  queue.clear
end
enqueue_async_job(key:, version:, expires_in:, block:, arguments:) click to toggle source
# File lib/async_cache/workers/sidekiq.rb, line 43
def self.enqueue_async_job(key:, version:, expires_in:, block:, arguments:)
  self.perform_async key, version, expires_in, arguments, block
end
has_workers?() click to toggle source

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

# File lib/async_cache/workers/sidekiq.rb, line 26
def self.has_workers?
  processes = Sidekiq::ProcessSet.new.to_a
  queues_being_processed = processes.flat_map { |p| p['queues'] }

  if queues_being_processed.include? sidekiq_queue
    true
  else
    false
  end
end

Private Class Methods

sidekiq_queue() click to toggle source
# File lib/async_cache/workers/sidekiq.rb, line 49
def self.sidekiq_queue
  self.sidekiq_options['queue'].to_s
end