Изменения в версии 2.3.11

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 2.3.11

Исправлены несколько ошибок версии 2.3.10. Если версия 2.3.10 установлена, рекомендуется произвести обновление до 2.3.11.

Исправлена проблема с падением производительности в случае использования больших номеров турниров.

Хранение посылок в MySQL

Поддерживается хранение базы посылок в базе данных MySQL. Выбор вида хранения базы посылок выполняется для каждого турнира отдельно. По умолчанию посылки хранятся в файлах. Чтобы включить хранение базы посылок в базе данных MySQL необходимо в конфигурационном файле serve.cfg турнира установить параметр

rundb_plugin = "mysql"

Поддержка MySQL реализована с помощью плагина rldb_mysql.so. Конфигурационные параметры плагина определяются в файле ejudge.xml. Минимальные конфигурационные настройки могут выглядеть следующим образом:

 <plugins>
  <plugin type="rldb" name="mysql" load="yes">
     <config>
       <user>ejudge</user>
       <password>*********</password>
       <database>ejudge</database>
     </config>
   </plugin>
 </plugins>

База данных ejudge и пользователь ejudge с полными правами работы с этой базой должны быть предварительно созданы, например, с помощью phpMyAdmin.

При работе с базой посылок турнира она полностью загружается в память при открытии турнира и не обновляется из MySQL. Однако все записи в базу посылок немедленно приводят к обновлениям в MySQL базе. Поэтому не рекомендуется изменять MySQL базу посылок в то время, когда турнир загружен. Команда "Reload contest settings" интерфейса администратора в числе прочего и перечитает базу посылок из MySQL.

Только информация о посылках хранится в таблице. Исходный код и протоколы тестирования по-прежнему хранятся в файлах.

convert-runs

Новая программа для конвертации одного формата хранения базы посылок в другой. Программа инсталлируется либо в каталог bin, либо в каталог libexec/ejudge/bin, в зависимости от опции --enable-hidden-server-bins скрипта configure. Например, для перевода базы посылок некоторого турнира из файлового формата в базу данных MySQL программа должна вызываться со следующими аргументами: convert-runs CONTEST-ID file mysql Плагин rldb_mysql должен быть корректно настроен (см. выше) и требуемая база должна быть создана.

new-server

В URL запроса допускается указание символических названий для параметра action. Например, action=reg_create_account_page.

Новая конфигурационная переменная раздела определения задачи `disable_security'. Если она установлена, для соответствующей задачи отменяются ограничения безопасности.