Jak "elegancko" oprogramować ładowanie danych?

Cześć,

Stoję przed następującym zadaniem:
Mam serwis, który okresowo musi być aktualizowany danymi w hurtowych ilościach (kilka tabel po kilkadziesiąt tysięcy rekordów). Do tej pory czyściłem “ręcznie” tabele, przegrywałem odpowiednio przygotowane pliki csv i używając rake:seed ładowałem to. Chciałbym ten proces zautomatyzować. Widzę kilka dróg.

  1. Budowa jakiejś funkcji, która sprawdza okresowo zawartość określonego folderu i po wykryciu tam “świeżego” pliku (XML lub CSV) wykonuje operacje czyszczenia i ładowania.
  2. Budowa jakiegoś API i udostępnienie zewnętrznej aplikacji funkcji “clean and load”, gdzie jako parametr byłby podawany XML/CSV.

Który wariant jest bardziej “elegancki”, bezpieczny i poprawny?,
A może macie jeszcze inne, lepsze pomysły?

Generalnie potrzebujesz rozwiazania 1) by zbudowac 2). Ja bym zaczal od 1) i jesli trzeba, rozbudowal o 2),

Dzięki.
Jakieś rady, ostrzeżenia przed pułapkami?