class Totoro::BaseQueue
Public Class Methods
broadcast(id, payload, attrs = {})
click to toggle source
# File lib/totoro/base_queue.rb, line 16 def broadcast(id, payload, attrs = {}) Totoro::BroadcastService.new(connection, config).broadcast(id, payload, attrs) rescue Totoro::ConnectionBreakError => error handle_failed_msg(id, payload, error, :broadcast) end
config()
click to toggle source
# File lib/totoro/base_queue.rb, line 8 def config @config ||= Totoro::Config.new end
connection()
click to toggle source
# File lib/totoro/base_queue.rb, line 12 def connection @connection ||= Bunny.new(config.connect.merge(threaded: false)) end
enqueue(id, payload, attrs = {})
click to toggle source
# File lib/totoro/base_queue.rb, line 22 def enqueue(id, payload, attrs = {}) Totoro::EnqueueService.new(connection, config).enqueue(id, payload, attrs) rescue Totoro::ConnectionBreakError => error handle_failed_msg(id, payload, error, :enqueue) end
Private Class Methods
handle_failed_msg(id, payload, error, group)
click to toggle source
# File lib/totoro/base_queue.rb, line 30 def handle_failed_msg(id, payload, error, group) Rails.logger.error error.message Rails.logger.info 'Add failed message to resend list' STDOUT.flush @connection = nil Totoro::TotoroFailedMessage.create( class_name: to_s, queue_id: id, group: group, payload: payload ) end