Журнал успеваемости Moodle навсегда застрял в состоянии «Перерасчет оценок», несмотря на необходимость обновления = 0 и Php

Кемеровские программисты php общаются здесь
Anonymous
Журнал успеваемости Moodle навсегда застрял в состоянии «Перерасчет оценок», несмотря на необходимость обновления = 0 и

Сообщение Anonymous »

У меня постоянная проблема с журналом оценок на нашем сайте Moodle, и я исчерпал большинство стандартных решений. Надеюсь, кто-то здесь уже сталкивался с этим раньше.
Среда
  • Версия 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 выполняется, но запись не производится
Что я проверил
  • Код: Выделить всё

    mdlf0_grade_items
    для курса 156: все элементы имеют requireupdate = 0, locked = 0
  • Код: Выделить всё

    mdlf0_grade_categories
    для курса 156: в нашей схеме нет заблокированного столбца
  • Неработающих формул расчета не обнаружено
  • Отсутствующих элементов нет
Вопросы
  • Что еще может привести к тому, что журнал оценок останется в Состояние «пересчета», когда требуется обновление = 0 для всех элементов?
  • Есть ли еще таблица или флаг, управляющие этим состоянием пересчета, которые я, возможно, пропустил?
  • Кто-нибудь видел цикл оценки cron неоднократно без записи каких-либо данных?
  • Единственный оставшийся вариант — резервное копирование курса и восстановление точка?

Вернуться в «Php»