Долго не обновлял XenForo. Не обновляется статистика и не снимаются автоматические блокировки

LDS

1 paнг
Регистрация
5 Июл 2019
Сообщения
5,018
Реакции
3,300
Баллы
145
Возраст
38
Страна
Украина
Имя
Дмитрий
После обновления XenForo (скачок примерно с версии 2.1.x на 2.3.x после почти 4 лет без обновлений) возникли следующие проблемы:
  • Общая статистика форума (количество сообщений, тем и т.п.) перестала автоматически обновляться.
  • Новые сообщения и темы не отображаются в статистике, пока я вручную не запускал cron.
  • Автоматическое снятие временных блокировок (банов) пользователей перестало работать даже после наступления даты блокировки оставалось активным.
Количество постов и лайков в профилях пользователей на тот момент уже заработало после ребилдов, но глобальная статистика и автоматические задания cron – нет.

Я выполнил все стандартные рекомендации:
  • Объединил все устаревшие шаблоны (Merge templates) для трех стилей.
  • Запустил все Rebuild caches (включая user post counts, thread information, forum information, statistics и т.п.).
  • Несколько раз запускал Manual deferred tasks.
Обратился в техподдержку, там попросили проверить таблицу xf_job в базе данных:
Can you check the xf_job table and check the cron entry is there?

Нашел таблицу xf_job в phpMyAdmin:
432425345 (1).png
И в разделе SQL выполняю запрос:
SELECT unique_key, trigger_date, last_run_date, execute_class
FROM xf_job
WHERE unique_key = 'cron';
Результат:
MySQL вернула пустой результат (т.е. ноль строк). (Запрос выполнялся 0.0005 секунды.)
Запись с unique_key = 'cron' отсутствует. Именно поэтому cron-задачи (статистика и автоматическая разблокировка) не запускались автоматически.

Заходим в Инструменты → Задания планировщика (Cron entries).
Находим задачу «Перестроение статистики форума» (Update forum statistics).
1212 (1).png
Выключаем его (Enabled) → автоматически сохранилось.
Снова включаем его (Enabled) → автоматически сохранилось.

Перепроверил в базе данных:
Показаны строки 0 – 0 (всего 1, Запрос выполнялся 0.0004 секунды.)
XenForo автоматически создал недостающую запись cron в таблице xf_job.

Аналогично сделал для задания «Удаление истёкших блокировок» (Handle expired warnings).

Общая статистика форума начала обновляться автоматически каждые 3 минуты. Автоматическое снятие блокировок заработало – после наступления даты бан снимается самостоятельно.

Проблема полностью решена.
 
Последнее редактирование:

Статистика форума

Темы
3,295
Сообщения
261,993
Пользователи
2,545
Новый пользователь
vlad'mir
Назад
Сверху Снизу