Изменения в версии 3.10.1
Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 3.10.1
Время выхода: ?? ?? 2023 г.
Добавлен Dockerfile
и docker-compose.yml
.
Тестовую инсталляцию ejudge можно развернуть с помощью docker-compose.
Серверные компоненты ej-users, ej-jobs, ej-super-run, ej-super-server, ej-contests, ej-agent обрабатывают сигнал USR1 для переоткрытия лог-файлов.
Contents
ejudge-setup
Поддерживается опция -B
, которая включает
генерацию инсталляционного скрипта для неинтерактивного запуска.
Поддерживается опция -s
для генерации
конфигурационных файлов с поддержкой контейнеризации.
В UI добавлен выбор опции "Install in slave mode?" по которой инсталляционный скрипт создает только файлы, необходимые для работы в режиме инвокера.
Поддерживается опция -S
для генерации
конфигурационных файлов в режиме инвокера (slave mode).
ejudge-control
Корректно поддерживается работа в docker.
Добавлена команда rotate
, которая выполняет ротацию лог-файлов.
ej-agent
Добавлена опция -l
для указания пути к лог-файлу.
ej-contests
В привилегированный API запрос submit-run
добавлены два параметра: not_ok_is_cf
и rejudge_flag
.
ej-contests хранит некоторые переменные внутреннего состояния в области памяти, отображенной в файл ej-contests-status
. Этот файл можно считать или отобразить в память и извлекать из него некоторые метрики работы процесса.
Исправлено падение при повторном удалении уже удаленных посылок Issue 140.
Исправлена некорректная обработка зависимостей задач в некоторых случаях Issue 135.
Доработано поведение при активном режиме дорешивания в виртуальных турнирах Issue 138. После включения режима дорешивания участники не могут стартовать виртуальный турнир, но все задачи доступны для сдачи в режиме дорешивая. Те, у кого в момент включения дорешивания виртуальный турнир еще не закончился, заканчивают виртуальный турнир в "зачетном" режиме, после чего могут сдавать в режиме дорешивания.
ej-jobs
Исправления в плагин Telegram от vvd170501 MR 129, MR 130.
ej-suid-container
В режиме компиляции известные каталоги, которые используются для кеширования файлов некоторыми компиляторами, монтируются на tmpfs, то есть не сохраняются между запусками.
По умолчанию блокируются системные вызовы unshare
и memfd_create
. Добавлены опции su
и sm
, который разрешают
эти системные вызовы.
ej-super-run
Исправлена ошибка работы в режиме кеширования Issue 127.
ej-super-server
При создании пользователей по CSV-файлу добавлена опция принудительной переустановки паролей у уже существующих пользователей.
ej-users
Если база данных уже существует, она не пересоздается.
Коннектор к MySQL/MariaDB
В таблицах MySQL используется BIGINT там, где ожидаются 64-битные числа.
Кодировка в таблицах MySQL изменена на utf8mb4, так как кодировка utf8 не поддерживает полный диапазон кодовых позиций Unicode Issue 132.
Плагин для подключения к mysql поддерживает переменные окружения
EJUDGE_MYSQL_HOST
, EJUDGE_MYSQL_PORT
,
EJUDGE_MYSQL_DATABASE
, EJUDGE_MYSQL_USER
,
EJUDGE_MYSQL_PASSWORD
.
Плагин для подключения к mysql поддерживает чтение имени базы данных,
хоста и порта для подключения из файла mysql_password
с паролем
к базе данных. Для этого в конфигурацию плагина common_mysql
в файле ejudge.xml
добавлен элемент password_file_mode
,
который должен содержать значение 1.
Добавлено автоматическое переподсоединение к БД в случае разрыва соединения.
Тестовый турнир
Добавлены решения задачи A+B на языках golang и kotlin MR 135 от dkirienko.