Наблюдатели и обратные вызовы в моделях Rails работают в одном потоке и блокируют запрос до тех пор, пока они не вернутся.
Например, если у меня есть модель Photo, и я помещаю задание по изменению размера в очередь в обратном вызове after_create или в наблюдателе, запрос не завершится, пока в очереди не будет сделана запись (что иногда может быть медленным, если я использую Amazon SQS для организации очередей).
То же самое верно и для обратных вызовов на контроллерах Rails. Если мне нужно выполнить обслуживание, такое как управление кешем или аналитика хранилища, запрос не завершится, пока не завершится обратный вызов.
Есть ли способ Rails для запуска кода внутри обратного вызова (модель или контроллер) или наблюдателя в другом потоке, чтобы запрос не остановлен?