У moodle 4.1 есть пара косяков с кэшированием, причём один косяк может застать врасплох не шибко опытных администраторов. Но обо всем по порядку. Обычно в качестве кэша используют кэш файловой системы (особо хитрые, и я в том числе, такой кеш делают на виртуальном диске, размещённом в RAM). Также мудл поддерживает: APCu, Memcached, MongoDB и Redis. Я для своего проекта выбрал первые два. В итоге вышло 3х уровневое кэширование. Для настройки кэширования в moodle надо вручную выбирать какой и где применять вариант кэширования. И вот тут среди кучи параметров есть 2 залётных. Один неприятный, а второй намертво укладывает портал обучения.
Параметр «Настройки конфигурации» (Настройка хранилища для кэша «core/config»)
Первый параметр, который если включить сломает выполнение регулярных задач (Cron). Проверить что он виновен в стопе планировщика, можно просто очистить кэш этого параметра. Чтоб все заработало, надо установить кэширование файловой системой (то что стояло по умолчанию).
Параметр «Совокупная информация о модулях и разделах для каждого курса» (Настройка хранилища для кэша «core/coursemodinfo»)
Приведу ссылку на этот параметр
cache/admin.php?action=editdefinitionmapping&definition=core%2Fcoursemodinfo
И вот с ним уже будет весело, если вы установите в качестве кэша Memcached. Портал просто вырубится с критической ошибкой. Соответственно исправить это можно будет или путём правки базы данных или временным отключением сервера Memcached (например в системах с systemd это можно сделать командой systemctl stop memcached.service). После остановки сервера портал заработает и можно будет исправить параметр на дефолтный.