Difference between revisions of "Serve.cfg:problem:enable dynamic priority"

From EjudgeWiki
 
(...)
 
Line 1: Line 1:
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[serve.cfg]]/[[serve.cfg:problem|Конфигурационные параметры задач]]/<code>[[serve.cfg:problem:enable_dynamic_priority|enable_dynamic_priority]]</code>
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[serve.cfg]]/[[serve.cfg:problem|Конфигурационные параметры задач]]/<code>[[serve.cfg:problem:enable_dynamic_priority|enable_dynamic_priority]]</code>
 +
 +
Если у задачи установлен данный конфигурационный параметр,
 +
приоритет тестирования посылки пользователя зависит от числа других
 +
посылок того же пользователя по той же задаче, которые в текущий
 +
момент находятся в состоянии компиляции или тестирования.
 +
Поправка к приоритету (priority_adjustment) вычисляется по следующей
 +
формуле:
 +
 +
priority_adjustment = (testing_count - 1) / 2 + 3;
 +
if (priority_adjustment > 12) priority_adjustment = 12;
 +
 +
Здесь <code>testing_count</code> &mdash; это число посылок, уже
 +
находящихся в очереди на компиляцию и тестирование.
 +
Чем больше поправка к приоритету, тем ниже приоритет тестирования,
 +
то есть такая посылка будет находиться в очереди тестирования дальше
 +
от начала.
 +
 +
Параметр наследуется из абстрактной задачи.
 +
 +
Пример:
 +
 +
[problem]
 +
# ...
 +
enable_dynamic_priority
 +
 +
Поддерживается начиная с версии [[изменения в версии 3.10.2|3.10.2]].

Latest revision as of 06:58, 25 March 2023

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/enable_dynamic_priority

Если у задачи установлен данный конфигурационный параметр, приоритет тестирования посылки пользователя зависит от числа других посылок того же пользователя по той же задаче, которые в текущий момент находятся в состоянии компиляции или тестирования. Поправка к приоритету (priority_adjustment) вычисляется по следующей формуле:

priority_adjustment = (testing_count - 1) / 2 + 3;
if (priority_adjustment > 12) priority_adjustment = 12;

Здесь testing_count — это число посылок, уже находящихся в очереди на компиляцию и тестирование. Чем больше поправка к приоритету, тем ниже приоритет тестирования, то есть такая посылка будет находиться в очереди тестирования дальше от начала.

Параметр наследуется из абстрактной задачи.

Пример:

[problem]
# ...
enable_dynamic_priority

Поддерживается начиная с версии 3.10.2.