Здравствуйте!
Для формирования статистики не запускается cron. При запуске выдается строка -
!!! Извините, Вы указали неверный пароль для доступа к этой странице !!!
Версия moodle 2.6.4
Что можно предпринять?
Здравствуйте!
Для формирования статистики не запускается cron. При запуске выдается строка -
!!! Извините, Вы указали неверный пароль для доступа к этой странице !!!
Версия moodle 2.6.4
Что можно предпринять?
При запуске выдается строка - !!! Извините, Вы указали неверный пароль для доступа к этой странице !!!
Значит установлен пароль для доступа к cron через веб-интерфейс и URL должен выглядеть так: http://site.example.com/admin/cron.php?password=пароль. См. в "Администрирование ► Безопасность ► Политика безопасности сайта" параметр cronremotepassword
Для сбора статистики нужно её включить на сайте (enablestats) и настроить запуск cron по расписанию, а не запускать вручную через браузер.
Большое спасибо, Вадим!
Еще вопрос. Я все сделал как Вы сказали но изменений в статистике нет(кол-во дней обработанных не меняется) Как можно проверить накапливается статистика или нет.
Заранее благодарю!
Юрий
Мне тоже интересно сколько нужно ждать, я уже год примерно жду. Но статистика так и не работает. Cron запускается. Но при просмотре статистики выходит ошибка. Просто Ошибка и ссылка подробнее, где тоже ничего нет.
при просмотре статистики выходит ошибка
Debug включите и посмотрите, какая конкретно ошибка.
Статистика "собирается" из журнала событий (логов).
Проверяйте параметр loglifetime (Сохранять записи в течение). Чем больше времени здесь выбрать, тем потом за больший период можно просматривать статистику. Не рекомендуется устанавливать значения меньше 30, так как в этом случае может неправильно работать статистика.
При первоначальной обработке статистики крону может понадобиться от "от 5 минут до нескольких часов в зависимости от того, насколько большой ваш сайт" (https://docs.moodle.org/28/en/Statistics)
Проверить, собирается ли статистика, можно по наличию записей в таблицах БД, название кот. начинается с mdl_stats_
Спасибо, Вадим. loglifetime ставил разные значения. Поставил 30 по-умолчанию.
Таблицы в БД mdl_stats_ пусты.
Значит статистика не ведется, как бы ее запустить. Что еще посоветуете посмотреть?
cron отрабатывает но в базы статистики ничего не заносится
Далее скриншот после выполнения cron
Created missing context instances
Running session gc tasks...
...finished stale session cleanup
Running auth crons if required...
... started 09:56:32. Current memory use 18.8Мбайт.
Running enrol crons if required...
Starting activity modules
Processing module function assign_cron ...... started 09:56:32. Current memory use 20.5Мбайт.
... used 18 dbqueries
... used 0.080338001251221 seconds
done.
Finished activity modules
Starting blocks
Finished blocks
Starting admin reports
Finished admin reports
Starting main gradebook job...
... started 09:56:32. Current memory use 30Мбайт.
Deleted old grade history records from 'grade_outcomes_history'
Deleted old grade history records from 'grade_categories_history'
Deleted old grade history records from 'grade_items_history'
Deleted old grade history records from 'grade_grades_history'
Deleted old grade history records from 'scale_history'
done.
Starting processing the event queue...
... started 09:56:32. Current memory use 30Мбайт.
done.
Starting course reports
Finished course reports
Starting gradebook plugins
Finished gradebook plugins
Updating calendar subscriptions:
... started 09:56:32. Current memory use 32.3Мбайт.
Finished updating calendar subscriptions.
Starting the question bank cron...... started 09:56:32. Current memory use 32.3Мбайт.
Cleaning up old question previews...done.
Cleaning up old question statistics cache records...done.
done.
Начинается обновление регистрационной информации в каталогах...
... started 09:56:33. Current memory use 34.9Мбайт.
Обновление регистрационной информации в каталогах завершено
Automatic check for available updates not enabled, skipping.
Deleting session linked tokens more than one day old...... started 09:56:33. Current memory use 35.1Мбайт.
done.
Starting repository plugins
Processing cron function for repository_dropbox...
... started 09:56:33. Current memory use 41.2Мбайт.
done. (1 dbqueries, 0 seconds)
Processing cron function for repository_filesystem...
... started 09:56:33. Current memory use 41.3Мбайт.
done. (3 dbqueries, 0 seconds)
Finished repository plugins
Starting admin tools
Processing cron function for tool_qeupgradehelper...
... started 09:56:33. Current memory use 41.6Мбайт.
done. (0 dbqueries, 0 seconds)
Finished admin tools
Running cache cron routines
Cleaning up stale session data from cache stores.
done.
Checking automated backup status...INACTIVE
...preventing stats to run, more than 4 hours since scheduled time.
Starting badges cron...
Started reviewing available badges.
Badges were issued 0 time(s).
Sending scheduled badge notifications.
done.
Deleting old draft files... ... started 09:56:33. Current memory use 45.7Мбайт.
done.
Deleting orphaned preview files... ... started 09:56:33. Current memory use 45.7Мбайт.
done.
Cron script completed correctly
Cron completed at 09:56:33. Memory used 45.7Мбайт.
Execution took 0.363372 seconds
В обработке статистики где-то в версии 2.7 возникала ошибка, я делал пост на трекер (MDL-46545). Посмотрите, какая у вас версия, возможно у вас в этом причина
Версия Moodle 2.7.3 (Build: 20141110) обновлялся постепенно с ранних версий. По ссылке я так понял, баг исправлен. Или, что-то вручную нужно поправить?
Статистика так и не работает. Версия 2.8.9 Постепенно обновлялся с версии наверное 2.2
cron работает, в базе таблицы mdl_stats* пустые.
В Планировщике событие Фоновый процесс сбора статистики
\core\task\stats_cron_task стоит 0 * * * * 0 то есть каждый час должен запускаться. Но не работает и всё тут 2 года жду всевозможные параметры включал.
В режиме разработчика вывел следующее:
Подскажите уважаемые, что делать дальше?
Скрин страницы «Администрирование ► Сервер ► Статистика» в студию.
Уже в студии
Параметр statsmaxruntime периодически менял на разные значения, не помогает.
…в студии
Скорее всего, за 4 часа все данные за 4 мес. не успевают обработаться, отсюда и пустая статистика.
Поставьте так: statsfirstrun - 1 мес., statsmaxruntime - До завершения
И понаблюдайте за таблицами _stats_
Выставил, наблюдаю, пока безрезультатно. Таблицы _stats_ пусты. Увы...
Вчера посадили, сегодня уже выкапывать хотите?
Через неделю, минимум.
Не, ждать у моря погоды неделями без какой-либо диагностики это не очень разумно.
В прилагаемом логе крона сбор статистики не запустился, поскольку он уже запускался недавно. Что могу предложить.
отключите сбор статистики в планировщике
Создайте новый php файл в корне moodle, сделайте
В планировщике запуск сбора статистики лучше каждую минуту поставить. Тогда он будет запускаться ровно в то время, когда указано в statsruntimestarthour
Спасибо! Заработало!
После первого запуска файла, написал "...preventing stats to run, more than 4 hours since scheduled time."
Параметр statsrunning в таблице не нашел. Таблицы stat пусты.
Изменил время запуска, попробовал еще раз. Скрипт выдал циферки, в таблице появились записи.
Удалил значение statslastexecution Запустил cron (service cron start) стали заполняться таблицы.
Вроде пока работает. Понаблюдаем. Пробовал через Планировщик задач поставить каждую минуту. Но не будет ли это сильно сервер напрягать?
Кстати, там в справке стоит * /5 (с пробелом) вернуло ошибку, нужно видимо без пробела. Поставил каждые 5 минут.
Спасибо!
Нет, не будет. Планировщик будет каждую минуту запускать процедуру stats_cron_daily, которая, в свою очередь будет проверять, запускалась ли сборка статистика за последние сутки. Если запуск в течение последних суток уже был, то ничего делать она не будет.
Тут речь только об удобности отладки. Если у вас время запуска сбора статистики назначено на 10:35, а вы запускаете через планировщик эту задачу каждый час, то сбор статистики начнется только в 11:00. Если запланировано на 10:46, а задача запускается каждые 5 минут, то запустится в 10:50
В вашем случае могла быть такая ситуация - назначили сбор статистики на 3:00, а запуск планировщика - однократно на 00:00 каждый день. Планировщик запускается в 00:00 - видит, что со времени запланированного запуска прошло более 4 часов и не запускается - выдает те самые "...preventing stats to run, more than 4 hours since scheduled time." И так каждый день.
По умолчанию запуск задачи стоит в 0 минут каждого часа
После выходных строк в таблицах stat не прибыло. Я только удалил файл со скриптом, или его не нужно было удалять?
mdl_stats_daily ~5000 строк, за три дня не изменилось
mdl_stats_monthly 0 строк
mdl_stats_user_daily 25 строк
mdl_stats_user_monthly 0 строк
mdl_stats_user_weekly 0 строк
В настройках statsfirstrun - 1 месяц, statsmaxruntime - До завершения, statsruntimedays - 31
mdl_stats_user_daily
и mdl_stats_daily
не изменилось за последние дни.Нет, тот файл не нужно. Он просто запускал сбор статистики за 1 день.
Включите на сервер отладку. Отключите запуск cron. Установите время начала сбора статистики в начало текущего часа. Очистите параметр statslastexecution в таблице config.
Вспомнил, что поможет вам произвести отладку - любую задачу планировщика можно запустить через консоль. https://docs.moodle.org/29/en/Administration_via_command_line#Scheduled_tasks
выполните
php schedule_task.php --execute=\\core\\task\\stats_cron_taskЗапустите и расскажите, что она выдает
У вас всё работает без ошибок. Сейчас у вас начала собираться статистика по дням. Статистика по неделям и месяцам начнет собираться, только когда будет собрана вся статистика по дням до текущей даты. Можете поставить значение
statsruntimedays побольше, раз у вас статистика всего за 14 секунд собралась. Потом, когда пойдут даты где пользователи работали активнее, будет собираться дольше.
Убирайте параметр statslastexecution (иначе у вас второй раз за день не будет статистика обрабатываться) и запускайте сбор статистики через скрипт командной строки, и так много раз, пока не дойдете до текущего дня. Тогда наполнятся и таблицы с неделями и месяцами.
Да Александр, спасибо. Всё верно.