Я использую Impressionist для записи показов страниц. Запись в базу данных занимает всего около 50 мс, но я действительно предпочел бы сделать это после того, как страница будет обработана и отправлена клиенту.
Я изучал разветвление с помощью Spawn , но он устанавливает новое соединение с базой данных, которое кажется излишним для такой небольшой работы. Задержка задания и другие библиотеки фоновой обработки выглядят как major overkill. Запись в базу данных только для того, чтобы отложить запись в базу данных ... не победа.
Хотел бы я просто:
def show
render
impressionist(@article)
end
... и пусть импрессионист делает то же самое с тем же подключением к базе данных и теми же данными запроса, что и действие, сразу после того, как действие уже возвращено клиенту. Но, конечно, это не то, как работает метод рендеринга.
Есть какие-нибудь решения? Запуск Rails 3.1 и Ruby 1.9.2 на Heroku Cedar.