Как заставить Rails запустить главную страницу без участия пользователя?
Нужно каждый час реализовать запуск главной страницы приложения без участия посетителя (автоматически). Что бы создавалась кешированая версия. С помощью гема whenever, возможно такое (получалось только удалять файл по росписанию)?
Роман Мирр: Приложение берет данные с одного сайта (всего одна страница). Я сделал так что бы при посещении пользователя создавалась кешированная страница. Раз в час она удаляется с помощью whenever. Но дело в том что каждый час первому пользователю приходится ждать пока оно все прогрузит данные и не создаст эту страницу. Я думал сделать так что бы приложение не ждало посещение пользователя, а автоматом грузило страницу. И когда придёт посетитель - уже будет кешированная версия (без необходимости ждать обработки).
Как срабатывает триггер именно для этого пользователя?
Раз в час проходя по всем пользователям, определяешь у кого нужно удалить страницу?
Что значит "удаление" страницы? Это какой-то закешированный результат? Где он хранится?
Роман Мирр, На сервере хранится кеш версия. Как результат для второго пользователя за этот час уже не нужно ждать обработки, а просто отобразить результат. Удаляется закешированая страница раз в час - как результат, сервер не находит кеш версию и генерирует новую (идет обработка, пользователь ждет, информация обновляется).
Закешированные результаты следует обновлять для всех пользователей, а не удалять, проверяя по последнему времени обновления каждого в отдельности. Периодически, скажем, раз в минуту обновлять результаты в Memcached/Redis.