nkeyes/philotic

View on GitHub
examples/subscribing/acks.rb

Summary

Maintainability
A
0 mins
Test Coverage
#!/usr/bin/env ruby
$:.unshift File.expand_path('../../../lib', __FILE__)
$stdout.sync = true

require 'philotic'
require 'awesome_print'

# sometimes ack
Philotic.subscribe('flaky_queue', manual_ack: true) do |message|
  ap message.attributes
   [true, false].sample ? acknowledge(message) : reject(message)
end

# always ack
Philotic.subscribe('flaky_queue', manual_ack: true) do |message|
  ap message.attributes
  acknowledge(message, true)
end

# always reject
Philotic.subscribe('flaky_queue', manual_ack: true) do |message|
  ap message.attributes
  reject message
end
Philotic.subscriber.endure