Среда
- Версия Moodle: 4.1.2
- PHP: 8.2
- База данных: MySQL
- Хостинг: cPanel
- Сайт: Канберрский колледж бизнеса и технологий
Журнал оценок для одного конкретного курса постоянно зависает на экране «Пересчет оценок». Он никогда не разрешается, и отчет никогда не загружается.
Что мы уже пробовали
- Исправление PHP и Cron
- Обнаружено, что cron работал на неправильной версии PHP (7.4 вместо 8.2)
- Обновлен путь cron для использования правильный двоичный файл PHP 8.2
- Cron теперь успешно работает без ошибок PHP
- Исправления базы данных
- Сбросить все флаги элементов оценок: UPDATE mdlf0_grade_items SET Needsupdate = 0 WHERE Courseid = 156
- Очищены значения оценок: UPDATE mdlf0_grade_grades SET Finalgrade = NULL, rawgrade = NULL
- Удалены зависшие специальные задачи: DELETE FROM mdlf0_task_adhoc WHERE имя класса LIKE '%grade%' И пользовательские данные LIKE '%156%'
- Очищены флаги кеша журнала успеваемости: DELETE FROM mdlf0_cache_flags WHERE flagtype = 'gradebook'
- Увеличен кэш курса: UPDATE mdlf0_course SET Cacherev = Cacherev + 1 WHERE id = 156
- Сброс задержек сбоев запланированных задач и времени следующего выполнения
- Очистка кеша и сеанса
- Очистка всех кешей Moodle через интерфейс администратора
- Усеченная таблица mdlf0_sessions
- Перезапущен сервер (без последствий)
-
Cron работает успешно
-
Ошибок PHP нет
-
Все элементы оценок имеют необходимость обновления = 0 и заблокированы = 0
-
В категориях оценок нет явных повреждений
В журнале оценок по-прежнему отображается «Перерасчет оценок»
В запланированных задачах постоянно отображается сообщение «Как можно скорее» (зацикливание).
Оценка cron выполняется, но запись не производится
- для курса 156: все элементы имеют requireupdate = 0, locked = 0
Код: Выделить всё
mdlf0_grade_items - для курса 156: в нашей схеме нет заблокированного столбца
Код: Выделить всё
mdlf0_grade_categories - Неработающих формул расчета не обнаружено
- Отсутствующих элементов нет
- Что еще может привести к тому, что журнал оценок останется в Состояние «пересчета», когда требуется обновление = 0 для всех элементов?
- Есть ли еще таблица или флаг, управляющие этим состоянием пересчета, которые я, возможно, пропустил?
- Кто-нибудь видел цикл оценки cron неоднократно без записи каких-либо данных?
- Единственный оставшийся вариант — резервное копирование курса и восстановление точка?