Class: Tina4::Producer

Inherits:
Object
  • Object
show all
Defined in:
lib/tina4/queue.rb

Instance Method Summary collapse

Constructor Details

#initialize(backend: nil) ⇒ Producer

Returns a new instance of Producer.



40
41
42
# File 'lib/tina4/queue.rb', line 40

def initialize(backend: nil)
  @backend = backend || Tina4::QueueBackends::LiteBackend.new
end

Instance Method Details

#publish(topic, payload) ⇒ Object



44
45
46
47
48
49
# File 'lib/tina4/queue.rb', line 44

def publish(topic, payload)
  message = QueueMessage.new(topic: topic, payload: payload)
  @backend.enqueue(message)
  Tina4::Debug.debug("Message published to #{topic}: #{message.id}")
  message
end

#publish_batch(topic, payloads) ⇒ Object



51
52
53
# File 'lib/tina4/queue.rb', line 51

def publish_batch(topic, payloads)
  payloads.map { |p| publish(topic, p) }
end