У меня есть действие в контроллере, выполнение которого может занять много времени.
Я хочу запретить запуск двух пользователей одновременно.
Пока я вставляюзапись в базе данных, когда я начинаю, и удаляю ее, когда я закончу.
Как лучше это сделать?
Вы можете переместить это в нечто в фоновом режиме, например DelayedJob, чтобы избежать блокировки вашего приложения, или вы можете сделать вашу блокировку на основе базы данных более общей.Эта стратегия не выглядит слишком необоснованной, особенно если она предотвращает расплавление вашего приложения.