2011-12-13 26 views
10

Heroku支持表示這與他們在共享數據庫上的libssl版本有關,但我們已經在項目中遇到過這也在專用數據庫上。在Heroku,雪松,與獨角獸:獲取ActiveRecord :: StatementInvalid:PGError:SSL SYSCALL錯誤:檢測到EOF

基本上這個錯誤發生,每隔一段時間對每一個我們已經移動到新的雪松與獨角獸堆棧配置爲3名工人項目(接近只需經過部署):

錯誤消息:

ActiveRecord::StatementInvalid: PGError: SSL SYSCALL error: EOF detected : SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.at 

Where: 
some_controller#index 
[PROJECT_ROOT]/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/postgresql_adapter.rb, line 505 

沒有來自heroku的回答,除了可能等待誰知道我們升級共享數據庫服務器多長時間*並且我還沒有在Google上找到任何內容。

他們還建議它與獨角獸的工作人員重疊,我們應該切換到薄,但性能增益是值得偶爾的錯誤(我想!)。我希望有一種方法來配置獨角獸來防止重疊。

有沒有人遇到過這種情況,如果是的話,你做了什麼來解決它?謝謝! *不是他們真實的話,只是我的反應後感受到的。

+0

是那些來自他們支持團隊的確切單詞嗎?如果是這樣,這是非常不專業的... – leonardoborges 2011-12-14 01:30:39

+0

我得到了同樣的錯誤。我用3名工人使用獨角獸。 – soulnafein 2011-12-14 15:30:51

回答

24

Heroku的支持,建議我加入到我的獨角獸配置:

追加config/unicorn.rb

after_fork do |server, worker| 
    if defined?(ActiveRecord::Base) 
    ActiveRecord::Base.establish_connection 
    end 
end 

我加入它,我們還沒有看到一個PGError: SSL SYSCALL錯誤一整天。