Uygulamamda, bir dış API isteğinden alınan verileri almak ve kaynakları veritabanına oluşturmak/kaydetmek için sorumlu olan birkaç Builder sınıfına sahibim. Çok miktarda veri ile uğraşıyorum ve bunu birden fazla işlem kullanarak hızlandırmak için Paralel gem'i uyguladık. kod örneği test edilen BuradaRSpec: Paralel (PG :: ConnectionBad hatası) kullanan yöntemler nasıl test edilir
ActiveRecord::StatementInvalid:
PG::ConnectionBad: PQconsumeInput() server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
edilir:
class AirportBuilder < Resource
def build_from_collection
Parallel.each(object_producer, in_processes: 24) do |params|
instance = Airport.find_or_initialize_by(fsid: params[:fs])
build!(instance, params)
end
end
end
I
Ancak, Paralel kullanan bir yöntem için herhangi bir test, aynı hata ile başarısız olduğunu bulma ediyorum Bunun üzerinde bazı araştırmalar yaptım, ancak Google'daki tüm sonuçların, test paketinin daha hızlı çalışmasını sağlamak için birden fazla iş parçacığı/süreç kullanarak yapmak zorunda kalması farklı bir sorundur.
Bunu PG hatasına neden olmadan nasıl etkin bir şekilde test edebileceğime dair herhangi bir fikir var mı? Bir şeyi koymama gerekebileceğinin farkındayım, ama neyin saplanacağını ve hala anlamlı bir test yaptıklarından emin değilim.
Yardım edebilecek birine şimdiden teşekkür ederiz!