簡體   English   中英

當超過1000位收件人時,Rabbitmq無法發送新聞稿

[英]Rabbitmq can't send newletters when over 1000 recipients

我有一個Rabbitmq服務器,我希望發送新郵件。 問題是我正在向收件人上傳一個.csv文件,如果該文件有1000行以上,則會發生錯誤。

我以某種方式懷疑以下行是錯誤的:

MQ.fanout(exchange).publish(Marshal.dump(data))

消息未傳輸到隊列中,或者我不知道。

我能做的是:我必須刪除實際的“卡住”項目,因為在刪除它之前,我無法發送任何其他時事通訊提要。 刪除后,其余新聞通訊將被完美發送出去。

編輯:

日志未顯示任何錯誤。 但是,將日志設置為較低的值后,我得到了以下信息:

/var/log/rabbitmq/error.log

2015-10-28 10:34:33.353 [error] <0.1182.0> Error on AMQP connection <0.1182.0> (127.0.0.1:45994 -> 127.0.0.1:5672, vhost: '/bposted', user: 'bposted', state: running), channel 0:
{amqp_error,connection_forced,"broker forced connection closure with reason 'shutdown'",none}

2015-10-28 10:52:11.336 [error] <0.364.0> Error on AMQP connection <0.364.0> (127.0.0.1:46042 -> 127.0.0.1:5672, vhost: '/bposted', user: 'bposted', state: running), channel 1:
{amqp_error,frame_error,"type 3, all octets = <<>>: {frame_too_large,4319180,131064}",none}

2015-10-28 10:52:14.342 [error] <0.364.0> closing AMQP connection <0.364.0> (127.0.0.1:46042 -> 127.0.0.1:5672):
fatal_frame_error

這可能是一個線索嗎?

{frame_too_large,4319180,131064}

嘗試按此處所述增加frame_max參數https://www.rabbitmq.com/configure.html

[
  {rabbit, [
     {frame_max, 4319180},
    ]
  } 
].

最終,我們找到了解決方案。 基本上就是CHAPA所說的,rabbitmq能夠接收比標准更大的幀(我們將frame_max設置為0)。 但是找不到傳遞信息的AMQP文件。 這是我們找到它的地方:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/amqp-0.7.0/lib/amqp/client.rb

並且必須手動將frame_max值更改為0。 從這一點來看,它就像一個魅力。 :)謝謝您的建議。

順便說一句:如果我負責報廢此服務器,則不會升級它,也不會安裝其他Rabbitmq服務器。 PHPlist是我的風格:)請對此進行投票,以便當有人搜索它時可以放在頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM