Klient dostarczył mi bardzo duży plik csv , który ma 10 MB pracowników. do importu używam delayed_job i gemu model_import otrzymuje przekroczoną pamięć na heroku. Teoretycznie pewnym rozwiązaniem jest rodzielenie tego pliku na mniejsze ( jednak wtedy walidacja nie będzie działać, gdyż mam pole , które odwołuje się do poprzednich).
10 MB pracowników - tzn. 10 milionów rekordów, czy plik ma 10 MB? W drugim przypadku musiałbyś mieć bardzo małe ograniczenia na pamięć, żeby to się nie zmieniło, więc podejrzewałbym błąd procedury ładującej. W przypadku 10 milionów rekordów najprościej będzie załadować do bazy danych a potem zrobić walidację. Albo - alternatywnie, ściągnąć ten plik na swój komputer i przemielić to u siebie, a wyniki wysłać na serwer (o ile to jest jednorazowa akcja).