lib/sneakers/worker.rb in sneakers-2.4.0 vs lib/sneakers/worker.rb in sneakers-2.5.0

- old
+ new

@@ -49,26 +49,28 @@ res = nil error = nil begin metrics.increment("work.#{self.class.name}.started") - Timeout.timeout(@timeout_after, Timeout::Error) do + Timeout.timeout(@timeout_after, WorkerTimeout) do metrics.timing("work.#{self.class.name}.time") do if @call_with_params res = work_with_params(msg, delivery_info, metadata) else res = work(msg) end end end - rescue Timeout::Error => ex + rescue WorkerTimeout => ex res = :timeout - worker_error(ex, log_msg: log_msg(msg), message: msg) + worker_error(ex, log_msg: log_msg(msg), class: self.class.name, + message: msg, delivery_info: delivery_info, metadata: metadata) rescue => ex res = :error error = ex - worker_error(ex, log_msg: log_msg(msg), message: msg) + worker_error(ex, log_msg: log_msg(msg), class: self.class.name, + message: msg, delivery_info: delivery_info, metadata: metadata) end if @should_ack if res == :ack @@ -129,11 +131,14 @@ def from_queue(q, opts={}) @queue_name = q.to_s @queue_opts = opts end - def enqueue(msg) - publisher.publish(msg, :to_queue => @queue_name) + def enqueue(msg, opts={}) + opts[:routing_key] ||= @queue_opts[:routing_key] + opts[:to_queue] ||= @queue_name + + publisher.publish(msg, opts) end private def publisher