0
내 Ruby 코드가 RabbitMQ 이벤트를 처리합니다. Ruby에 Bunny를 사용하고 sneakers gem을 사용하고 있습니다. 내가 가능한 모든 사건에 대해 행동하고 있다고 생각 하긴하지만, 로컬 채널은 해독되지 않은 메시지로 쌓여 가고 있습니다. 이건 내 루비 코드RabbitMQ는 거치지 않거나 확인되었지만 스택되지 않은 메시지를 계속 유지합니다.
sneakers_1 | I, [2017-02-08T19:03:31.088857 #14] INFO -- : Rejecting 172.21.0.21. Name invalid tld
:
require 'sneakers'
class EventProcessor
include Sneakers::Worker
from_queue :edge_requests
def work(msg)
msg = JSON.parse(msg)
domain = msg[':path'].split('/').first
domain = domain.downcase.sub(/^www\./, '')
domain = Domain.find_or_initialize_by(name: domain) {|domain| domain.status = :active}
unless domain.valid?
Rails.logger.info "Rejecting #{domain.name}. #{domain.errors.full_messages.join(',')}"
reject!
return
end
domain.persisted? ? domain.touch : domain.save!
ack!
rescue
Rails.logger.error $!
reject!
end
end
뭔가 아마도 내 reject!
에 잘못이 무언가 같이 로그가 말한다 때마다 어떻게됩니까? 일종의 시간 동안 붙어. ack!
로 모든 reject!
을 변경하려고했지만 아무 도움이되지 않습니다.
아마도 내가 rescue
잘못된 방법을 사용하고 있습니까?