У меня есть огромная страница, которую я кэширую с помощью команды rails caches_page. Перед созданием кеша первый HTTP-запрос занимает около 30 секунд для создания кеша. Я хотел бы избежать этого, так что первый пользователь, попавший на страницу, может загружать его намного быстрее.Программно генерировать кеш с Rails
Я пытаюсь создать кэш программно с помощью HTTP, но это не похоже на работу:
uri = URI.parse("http://mydomain.com/huge_page")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
То, что я получил в ответ ошибка тайм-аут:
Timeout::Error (execution expired)
ли вам есть какое-то предложение, как я могу это сделать?
Кэшированная версия этой страницы очень быстрая (менее 200 мс), она просто вычислительно сложна для запросов, которые она делает при первом запуске. Я не думаю, что Delayed :: Job может помочь мне на этот раз. –
Как насчет исходного пункта о том, что у вас есть один поток/процесс, можете ли вы одновременно обслуживать несколько запросов? – Kris
Да, я создал 4 рабочих, чтобы было возможно одновременно обслуживать несколько запросов. –