2011-12-13 29 views
10

Hỗ trợ Heroku nói điều này liên quan đến phiên bản libssl của họ trên cơ sở dữ liệu được chia sẻ, nhưng chúng tôi đã gặp nó trên một dự án đó là trên một cơ sở dữ liệu chuyên dụng, quá.Trên Heroku, Cedar, với Unicorn: Bắt ActiveRecord :: StatementInvalid: PGError: Lỗi SSL SYSCALL: EOF đã phát hiện

Về cơ bản lỗi này xảy ra rất thường xuyên (gần gũi hơn với chỉ sau một triển khai) trên tất cả các dự án chúng tôi đã chuyển đến Cedar mới stack với Unicorn cấu hình để 3 nhân viên:

Thông báo lỗi:

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 

Không có câu trả lời nào từ heroku ngoài việc có thể chờ ai biết được chúng tôi sẽ nâng cấp các máy chủ cơ sở dữ liệu được chia sẻ của mình trong bao lâu * và tôi chưa tìm thấy gì trên google.

Họ cũng đề xuất rằng nó phải làm với các công nhân kỳ lân chồng lên nhau và chúng ta nên chuyển sang Thin nhưng hiệu suất đạt được cũng đáng giá lỗi thường xuyên (tôi nghĩ!). Tôi hy vọng có một cách để cấu hình Unicorn để ngăn chặn sự chồng chéo.

Có ai gặp phải điều này và nếu có, bạn đã làm gì để giải quyết vấn đề này? Cảm ơn!

* không phải từ thực tế của họ, chỉ là cảm giác của tôi sau phản hồi của họ.

+0

là những từ chính xác từ nhóm hỗ trợ của họ? Nếu vậy, điều đó rất không chuyên nghiệp ... – leonardoborges

+0

Tôi gặp lỗi tương tự. Tôi đang sử dụng kỳ lân với 3 công nhân. – soulnafein

+0

Không, đó không phải là từ ngữ thực tế của họ, chỉ là cách họ làm cho tôi cảm thấy: không chắc chắn KHI nó sẽ cập nhật và nó có thể không khắc phục được vấn đề. Họ nói rằng chúng ta nên thử một DB chuyên dụng, nhưng chúng ta thấy cùng một lỗi trên một ứng dụng chúng ta/làm/có trên chuyên dụng. –

Trả lời

24

hỗ trợ Heroku gợi ý rằng tôi thêm này để cấu hình Unicorn của tôi:

Nối-config/unicorn.rb của bạn:

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

tôi đã thêm nó và chúng tôi đã không nhìn thấy một PGError: SSL SYSCALL lỗi duy nhất suốt cả ngày.

+0

Tôi sẽ cố gắng này. – soulnafein

+0

Đi vào ngày 2, không có lỗi nào –

+0

Nó đang hoạt động cho đến nay! – soulnafein

Các vấn đề liên quan