class RabbitJobs::Publisher::Sync

Synchronous publisher. Calls Job#perform with no RabbitMQ interaction.

Public Class Methods

cleanup() click to toggle source
# File lib/rabbit_jobs/publisher/sync.rb, line 9
def cleanup
end
publish_to(routing_key, klass, *params) click to toggle source
# File lib/rabbit_jobs/publisher/sync.rb, line 12
def publish_to(routing_key, klass, *params)
  fail ArgumentError, "klass=#{klass.inspect}" unless klass.is_a?(Class) || klass.is_a?(String)
  routing_key = routing_key.to_sym unless routing_key.is_a?(Symbol)
  fail ArgumentError, "routing_key=#{routing_key}" unless RabbitJobs.config[:queues][routing_key]

  klass.perform(*params)
end
purge_queue(*routing_keys) click to toggle source
# File lib/rabbit_jobs/publisher/sync.rb, line 20
def purge_queue(*routing_keys)
  fail ArgumentError unless routing_keys.present?
end
queue_status(routing_key) click to toggle source
# File lib/rabbit_jobs/publisher/sync.rb, line 24
def queue_status(routing_key)
  check_queue_status_params(routing_key)
  { message_count: 0, consumer_count: 0 }
end