Konkurencyjne tworzenie plików lub rekordów w bazie

witam
jak można w railsach rozwiązac problem konkurencyjnego dostępu do jakiś zasobów, przykładowo w mojej aplikacji dwóch użytkowników może zechcieć pobierać pliki z tego samego źródła do tego samego miejsca w aplikacji. czyli np jeden plik mógłby być zapisywany z dwóch procesów, chyba że serwer na to nie pozwoli ?

rozumiem, że problem jest taki, że przychodzi request a ty dopiero wtedy generujesz plik i chcesz uniknac kolizji jeśli przychodzą dwa requesty w tym samym czasie?

tak, np dwóch użytkowników zrobi tą samą akcje, albo jedna przyjdzie od użytkownika a druga taka sama zostanie wywołana przez crona. akcja zarówno tworzy pliki w filesystemie jak i rekordy w bazie

mógłbyś zastanowić się nad użyciem monitorów, ale wtedy druga akcja będzie czekać aż pierwsza zakończy działanie czyli będziesz miał zwiechę na procesie. jeśli plik generuje się 0.1 s i generuje się tylko raz (potem się już go tylko ściąga), to monitory powinny wystarczyć (a cron odpalałby rake’a)