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