Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 带有PhusionPassenger/Rails的AMQP/RabbitMQ服务器/EventMachine只能接收第一条消息_Ruby On Rails_Rabbitmq_Passenger_Amqp_Eventmachine - Fatal编程技术网

Ruby on rails 带有PhusionPassenger/Rails的AMQP/RabbitMQ服务器/EventMachine只能接收第一条消息

Ruby on rails 带有PhusionPassenger/Rails的AMQP/RabbitMQ服务器/EventMachine只能接收第一条消息,ruby-on-rails,rabbitmq,passenger,amqp,eventmachine,Ruby On Rails,Rabbitmq,Passenger,Amqp,Eventmachine,我正在为我的RubyonRails应用程序使用AMQP/RabbitMQ 我将以下amqp.rb文件放在config/initializers下:(从配方复制和更改:) 在我使用PhusionPassenger启动Rails后,我看到它正在使用PhusionPassenger运行,然后我尝试向队列发送消息,但令我惊讶的是: .subscribe { |metadata, payload| MixpanelJob::handle_sending(metadata, payload) } subs

我正在为我的RubyonRails应用程序使用AMQP/RabbitMQ

我将以下amqp.rb文件放在config/initializers下:(从配方复制和更改:)

在我使用PhusionPassenger启动Rails后,我看到它正在使用PhusionPassenger运行,然后我尝试向队列发送消息,但令我惊讶的是:

.subscribe { |metadata, payload| MixpanelJob::handle_sending(metadata, payload) }

subscribe
处理程序只执行了一次,即只收到第一条消息,任何其他消息(第二条、第三条),
subscribe
处理程序从未被调用。

感谢Joshua的评论。事实证明,
MixpanelJob::handl\u发送失败,它正在阻止EventMachine线程。

如果作业失败,可能会发生这种情况。尝试用“puts payload”替换MixpanelJob::handle_发送(元数据、负载),看看它是否有效哦,是的,你是对的。似乎我的
MixpanelJob::handle\u发送失败了。我需要处理这件事。嗯,奇怪的是,
Mixpanel
从不抛出错误。
.subscribe { |metadata, payload| MixpanelJob::handle_sending(metadata, payload) }