Вся система кэша работает фоном: воркеры, сторожа, очереди. Заказчик её не видит — и не может отличить «всё хорошо» от «всё встало». Виджет в админке отвечает на один вопрос: прогрев идёт и доходит до конца? Первая версия виджета на этот вопрос не отвечала.
Это шестнадцатая часть цикла «Кэш фрагментов и Redis».
Что показывать
| Элемент | Что показывает |
|---|---|
| кольцо | доля готового: готово ÷ (готово + в очереди) |
| бегунок горячих задач | устаревшие ячейки, которые уже запросили посетители, — отдельно от общей очереди |
| бегунки по видам блоков | прогресс прогрева каждого вида: сетка, карточка товара, формы |
| бегунок обхода страниц | сколько адресов прошёл текущий круг обходчика |
| счётчик за день | сколько горячих задач обработано с начала суток |
| занятость Redis | красная строка от 75 % |
Кольцо рисуется одним CSS-градиентом, без библиотек:
.cache-donut {
width: 96px;
aspect-ratio: 1;
border-radius: 50%;
background: conic-gradient(#2e7d32 calc(var(--done) * 1%), #e0e0e0 0);
}
Чего не показывать
- долю места. Первая версия рисовала, какую часть кэша занимает каждый вид блоков. Заказчик назвал это бесполезным, и был прав: из этого нельзя понять, работает ли прогрев. Бегунки переделали в прогресс;
- счётчик за круг для горячих задач. Горячие задачи обрабатываются почти мгновенно, и счётчик текущего круга почти всегда показывал 0 — как будто ничего не происходит. Нужен дневной счётчик.
Обновление
Виджет обновляется ajax-запросом раз в 5 секунд и ставит обновление на паузу, когда вкладка скрыта (document.hidden), — чтобы открытая и забытая админка не грузила сервер.
Подпишите единицы. «31 574 шт.» рядом с кольцом читается как «31 574 страницы». Рядом с числом — короткое пояснение: ячейки — это варианты блоков, а не страницы.
Виджет должен читать то же хранилище, что и кэш. После переезда в Redis наш виджет ещё читал старую опцию и показывал 4000 ячеек вместо 31 574 (четырнадцатая часть).
Не видите, что происходит с кэшем на вашем сайте?
Пришлите адрес — подскажу, какие показатели вывести в админку.
// загружаю комментарии…