Class: RabbitJobs::Publisher::Sync

Inherits:
Base
  • Object
show all
Defined in:
lib/rabbit_jobs/publisher/sync.rb

Overview

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

Class Method Summary collapse

Methods inherited from Base

direct_publish_to

Class Method Details

.cleanupObject



9
10
# File 'lib/rabbit_jobs/publisher/sync.rb', line 9

def cleanup
end

.publish_to(routing_key, klass, *params) ⇒ Object



12
13
14
15
16
17
18
# 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) ⇒ Object



20
21
22
# 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) ⇒ Object



24
25
26
27
# 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