@alexmixaylov

Как из консоли пробежаться по ссылкам из массива и получить статус?

Оптимизирую сайт на Joomla, вернее пытаюсь это делать
имеется виртуальный сервер с дебиан 9, нжинкс и пхп-фпм
если не включать системный плагин Система- Кеш, то никак не получается достичь TTFB меньше 200мс
это значение без кеширования страниц в районе секунды - что не комильфо

С системным кешем работает хорошо, но проблема в том что сайт постоянно редактируется и кеш не обновляется при изменении контента
я пока не смог найти способ, при помощи которого можно было-бы обновить в кеше только измененную страницу
Сейчас схема такая - чищу кеш, потом запускаю скрипт, который парсит карту и пробегается по ссылкам
В итоге скрипт медленно отрабатывает когда генерирует страницы в кеш, но сайт потом летает, когда ходят боты и пользователи
$(document).ready(function () {
        $.ajax({
            type: "GET",
            url: "/index.php?option=com_jmap&view=sitemap&format=xml",
            dataType: "xml",
            success: xmlParser
        });
    });


    function xmlParser(xml) {
        var arrLinks = [];
        $(xml).find("url").each(function () {
            arrLinks.push($(this).children('loc').text());
        });
        console.log(arrLinks.length);

        $(arrLinks).each(function () {
            setTimeout(sendRequest(this), 1000);
            // sendRequest(this)
        });
    }

    function sendRequest(link) {
        var xhr = new XMLHttpRequest();
        xhr.open('GET', link, false);
        xhr.send();

        console.log(xhr.status + ' --> ' + link);
    }

теперь хочу автоматизировать этот процесс, при помощи крон ночью чиститься кеш
и нужна заново "прогреть" кеш страниц

как это можно сделать?
есть вариант - поставить ноду и запускать скрипт с его помощью, но может есть другой, более изящный метод?
Спасибо
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
Я постараюсь подать идею, правильная она или нет, не уверен.
Удаляете ночью кеш, а по массиву ссылок пробегаетесь используя cURL - PHP.
Думаю вариант подходящий..
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы