Статистика посещений страниц


НАЧАЛО >> Страницы сайта >> Статистика посещений страниц📄 Скачать в DOCX


При показе страницы Pages сохраняет время посещения, логин пользователя, IP-адрес, идентификатор и заголовок страницы. Учитываются обычные страницы и страницы модулей. Отказ в праве просмотра и неизвестная страница не учитываются.

Открытие страницы добавляет одну JSON-запись в DataPath/PagesStat/active.jsonl, без обращения к SID-БД статистики. Если короткая блокировка журнала занята, посещение записывается в отдельный сегмент; веб-запрос не ожидает освобождения блокировки. Каталог DataPath должен быть доступен для записи процессам сайта и очереди и закрыт от прямого HTTP-доступа.

1. Фоновая обработка

Pages/QueueMonitor автоматически ставит Pages/ImportStatistics в штатную очередь, с интервалом не менее 60 секунд после завершения предыдущей задачи. Дополнительные пользовательские настройки не нужны. Очередь должна работать; при её остановке страницы продолжают открываться, а журнал накапливается до возобновления обработки. Фактическая задержка обновления статистики зависит от загрузки очереди.

При обновлении существующей установки список мониторов очереди может оставаться в кэше до суток. Для немедленного подключения нового монитора применяется штатная очистка кэша системы; после этого в очереди должны появиться действия Pages/QueueMonitor и Pages/ImportStatistics.

Обработчик быстро отделяет активный журнал и затем работает с завершёнными сегментами. Обращение к SQLite происходит после освобождения блокировки записи журнала. Одновременно работает один обработчик. За запуск обрабатывается до 10000 посещений или 100 файлов; проверяемый между записями бюджет работы — 20 секунд. Ожидание блокировки SQLite ограничено одной секундой; отдельная дисковая операция может дополнительно задержать фоновую задачу. Остаток сохраняется для следующего запуска.

Посещения поступают в прежнюю SID-БД PagesStat записи модуля Pages, в прежние столбцы таблицы data. История и индекс времени сохраняются. Автоматическое удаление исторических посещений или VACUUM при показе страницы не выполняются. Рост исторической БД больше не увеличивает стоимость синхронной записи статистики в веб-запросе.

2. Повторный запуск и ошибки

Гарантии повторного запуска относятся к принудительной остановке процесса и ошибкам обработки. Сохранность при отказе диска или питании зависит также от файловой системы и настроек SQLite; отдельной синхронной записи на физический носитель для каждого веб-запроса нет.