Проблема при дублировании теста

Re: Проблема при дублировании теста

от Сергей Горленко -
Количество ответов: 0
В общем разобрался) Доступ к консоли не обязателен. Напишу полный лог действий, чтобы была памятка на русском, а то нигде нету...


Если есть проблема с долгим дублированием тестов (или если вообще все зависает и не дублируется) - это может значить что у вас версия Moodle младше 3.2.5, в которой этот баг пофиксили. 

Сам баг как-то зацикливает дублирование вопросов, вследствие чего таблица в базе данных "mdl_question" вырастает до огромных размеров (у меня было примерно 2млн. строк и 500мб веса). При дублировании вся эта таблица пытается записаться в фаил бэкапа и пока это происходит, из-за выросшего размера, Moodle не успевает выполнить операцию из-за того, что заканчивается время ожидания ответа от сервера (у меня еще и место на хостинге забивалось под 100%) Что сделать, чтобы это исправить:

1. Обновить Moodle до версии 3.5 или старше (я обновлялся с 3.4.2 до 3.6.2+)

2. Идем в "Администрирование"->"Сервер"->"Планировщик задач" и находим там запись "Remove unused random questions"

3. Открываем настройки записей и устанавливаем запуск задачи на каждые 5 минут (Минуты - */5) (ручной запуск, увы, у меня ничего не давал. Только по расписанию)

4. Ждем) Если есть доступ к базе данных - можно мониторить количество строк в таблице "mdl_question". Процесс не быстрый, за 1 раз не чистится вся таблица, а только определенное количество строк (хз. почему). 

По итогу у меня уменьшение количества записей с ~2млн. до 2000 заняло около 8-12 часов.

После того, как количество записей перестанет уменьшаться - вернуть в Планирощике время запуска по умолчанию.

Надеюсь кому-то пригодится)