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