Module: Pgbus::Outbox

Defined in:
lib/pgbus/outbox.rb,
lib/pgbus/outbox/poller.rb

Defined Under Namespace

Classes: Poller

Class Method Summary collapse

Class Method Details

.flush!Object



26
27
28
# File 'lib/pgbus/outbox.rb', line 26

def flush!
  Poller.new.poll_and_publish
end

.publish(queue_name, payload, headers: nil, priority: nil, delay: 0) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/pgbus/outbox.rb', line 7

def publish(queue_name, payload, headers: nil, priority: nil, delay: 0)
  OutboxEntry.create!(
    queue_name: queue_name,
    payload: payload,
    headers: headers,
    priority: priority || Pgbus.configuration.default_priority,
    delay: delay
  )
end

.publish_event(routing_key, payload, headers: nil) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/pgbus/outbox.rb', line 17

def publish_event(routing_key, payload, headers: nil)
  event_data = EventBus::Publisher.build_event_data(payload)
  OutboxEntry.create!(
    routing_key: routing_key,
    payload: event_data,
    headers: headers
  )
end