簡體   English   中英

文件結尾達到EOFError(Databasedotcom + Rails + Heroku)

[英]end of file reached EOFError (Databasedotcom + Rails + Heroku)

在試圖解決自己的無奈之后,我正在尋找SO家伙(您!)來幫助我追蹤這個巨大的錯誤:

消息:到達文件末尾EOFError回溯:[“ / app / vendor / ruby​​-1.9.3 / lib / ruby​​ / 1.9.1 / openssl / buffering.rb:174:在`sysread_nonblock中

背景 :我的應用程序是Heroku和100%后端應用程序上托管的Rails 3應用程序。 它使用Redis / Resque工作者使用Chatter REST API處理從Salesforce接收到的有效負載。

麻煩 :與Ruby的HTTPS / OpenSSL中的EOF的其他類似錯誤不同,我的錯誤發生的非常隨機(因為我尚無法預測何時出現這種錯誤)。

通常的懷疑 :當我嘗試創建45個Resque worker並嘗試一次同時同步來自45個不同的Salesforce Chatter REST API連接的數據時,就會經常注意到該錯誤! 如此頻繁,以至於我的處理失敗了總數的20%或更多,並且都是由於這個錯誤。

補救措施 :我正在使用使用HTTPS的Databasedotcom gem,並按照所有必需的步驟進行連接以創建合理的HTTPS連接。 所以...

  • 使用HTTPS中設置的SSL-已選中
  • URI編碼-已選中
  • Ruby 1.9.3-已選中
  • HTTP讀取超時設置為900(15分鍾)
  • 在每次重試前休眠30秒后,我最多重試了30次EOF錯誤! 仍然,它使某些數據失敗。

請幫忙嗎?

您是否考慮過Salesforce可能不希望一次從單個來源獲得這么多的連接,而您卻被DDOS阻止程序阻止了?

同樣,設置那些長時間的超時也沒有用。 如果連接失敗,請刪除它並自己重新安排新的時間。 那就是Resque做的很好,如果它仍然有問題,它將增加那些等待時間...

暫無
暫無

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

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