Difference between revisions of "Ej-compile"

From EjudgeWiki
 
(...)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Общая архитектура системы]]/[[compile]]
+
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Общая архитектура системы]]/[[ej-compile]]
  
Программа <tt>compile</tt> выполняет запросы на компиляцию решений, поступающих на проверку во все турниры. Программа взаимодействует с серверами турниров с помощью
+
Программа <tt>ej-compile</tt> выполняет запросы на компиляцию решений, поступающих на проверку во все турниры. Программа взаимодействует с серверами турниров с помощью разделяемых каталогов.
разделяемых каталогов.
+
 
 +
{| class="wikitable" style="margin:auto"
 +
|+ Поддерживаемые опции командной строки
 +
|-
 +
| <code>--agent AGENT</code>
 +
| Указать спецификацию, каким способом будет выполняться обмен файлами с сервером ejudge. Опция может указываться при запуске ejudge в подчиненном (slave) режиме. В настоящее время поддерживается только обмен файлами по ssh. См. [[Параллельное тестирование]]
 +
|-
 +
| <code>-C DIR</code>
 +
| Задать рабочий каталог <code>DIR</code>.
 +
|-
 +
| <code>-c DIR</code>
 +
| Задать альтернативное размещения каталога <code>EJUDGE_COMPILE_DIR</code>
 +
(по умолчанию значение <code>/home/judges/compile</code>).
 +
|-
 +
| <code>-d</code>
 +
| Переключиться в фоновый режим после старта (daemon mode).
 +
|-
 +
| <code>-D</code>
 +
| Переключиться в фоновый режим после старта (daemon mode).
 +
|-
 +
| <code>-DNAME[=VALUE]</code>
 +
| Задать значение <code>VALUE</code> для переменной <code>NAME</code>. По умолчанию значение равно <code>1</code>. Эти значения можно использовать в директивах условной обработки конфигурационного файла.
 +
|-
 +
| <code>-e FD</code>
 +
| Перенаправить стандартный поток ошибок (вывод в логи) в указанный файловый дескриптор.
 +
|-
 +
| <code>-g GROUP</code>
 +
| Компонент должен работать с правами группы <code>GROUP</code>. Работает, чтолько если <code>ej-compile</code> запускается пользователем root.
 +
|-
 +
| <code>-hb</code>
 +
| Включить режим отслеживания состояния (heartbeat). По умолчанию включен.
 +
|-
 +
| <code>-hc CMD</code>
 +
| Указать команду, которая будет использоваться для завершения работы (down) хоста компиляции.
 +
|-
 +
| <code>--help</code>
 +
| Вывести краткое описание использования и завершить работу.
 +
|-
 +
| <code>-hi ID</code>
 +
| Указать идентификатор данного компонента компиляции для подсистемы мониторинга (heartbeat).
 +
|-
 +
| <code>-i</code>
 +
| Режим инициализации: создать все необходимые каталоги и файлы, но не переходить в режим обслуживания запросов.
 +
|-
 +
| <code>-I ID</code>
 +
| Задать индентификатор очереди компиляции, которая будет обрабатываться данным компонентом.
 +
|-
 +
| <code>--instance-id INST-ID</code>
 +
| Указать идентификатор тестирующего компьютера. Этот идентификатор отображается в информации об очереди компиляции и доступных серверах компиляции.
 +
|-
 +
| <code>--ip</code>
 +
| Задать IP-адрес. Этот адрес без изменений передаётся в [[ej-agent]]
 +
и отображается в командной строке.
 +
|-
 +
| <code>-k KEY</code>
 +
| Обслуживать только запросы, в которых передается параметр языка программирования [[Serve.cfg:language:key|key]]. Позволяет выполнять фильтрацию обрабатываемых запросов по какому-либо типу языков программирования.
 +
|-
 +
| <code>-l FD</code>
 +
| Задать номер заранее открытого файлового дескриптора, который получен при открытии файла <code>ejudge.xml</code. Эта опция необходима, когда компонент ej-compile работает не под пользователем ejudge, и, соответственно, не имеет доступа к этому файлу.
 +
|-
 +
| <code>-nhb</code>
 +
| Выключить режим отслеживания состояния (heartbeat).
 +
|-
 +
| <code>-nst</code>
 +
| Не перехватывать сигналы фатальных ошибок (SIGSEGV и аналогичные) для печати трассы стека в лог файл.
 +
|-
 +
| <code>-p</code>
 +
| Запустить компонент в параллельном режиме, когда несколько компонентов работают на одном и том же хосте.
 +
|-
 +
| <code>-S</code>
 +
| Перенаправить вывод на стандартный поток вывода и стандартный поток ошибок в лог-файл. Альтернатива фоновому режиму. (deprecated)
 +
|-
 +
| <code>-R</code>
 +
| Режим перезапуска. Используется самим компонентом <code>ej-compile</code> при получении сигнала <code>SIGHUP</code> на перезапуск компонента.
 +
|-
 +
| <code>-r DIR</code>
 +
| Задать альтернативное размещение каталога контестов <code>CONTESTS_HOME_DIR</code> (по умолчанию значение <code>/home/judges</code>).
 +
|-
 +
| <code>-rc</code>
 +
| Указать команду, которая будет использоваться для перезагрузки (reboot) хоста компиляции.
 +
|-
 +
| <code>-u USER</code>
 +
| Компонент должен работать с правами пользователя <code>USER</code>. Работает, чтолько если <code>ej-compile</code> запускается пользователем root.
 +
|-
 +
| <code>-v</code>
 +
| Подробный (verbose) режим.
 +
|-
 +
| <code>-x PATH</code>
 +
| Задать путь к файлу <code>ejudge.xml</code> (по умолчанию <code>/home/judges/data/ejudge.xml</code>).
 +
|}

Latest revision as of 06:43, 14 May 2023

Навигация: Главная страница/Система ejudge/Использование/Общая архитектура системы/ej-compile

Программа ej-compile выполняет запросы на компиляцию решений, поступающих на проверку во все турниры. Программа взаимодействует с серверами турниров с помощью разделяемых каталогов.

Поддерживаемые опции командной строки
--agent AGENT Указать спецификацию, каким способом будет выполняться обмен файлами с сервером ejudge. Опция может указываться при запуске ejudge в подчиненном (slave) режиме. В настоящее время поддерживается только обмен файлами по ssh. См. Параллельное тестирование
-C DIR Задать рабочий каталог DIR.
-c DIR Задать альтернативное размещения каталога EJUDGE_COMPILE_DIR

(по умолчанию значение /home/judges/compile).

-d Переключиться в фоновый режим после старта (daemon mode).
-D Переключиться в фоновый режим после старта (daemon mode).
-DNAME[=VALUE] Задать значение VALUE для переменной NAME. По умолчанию значение равно 1. Эти значения можно использовать в директивах условной обработки конфигурационного файла.
-e FD Перенаправить стандартный поток ошибок (вывод в логи) в указанный файловый дескриптор.
-g GROUP Компонент должен работать с правами группы GROUP. Работает, чтолько если ej-compile запускается пользователем root.
-hb Включить режим отслеживания состояния (heartbeat). По умолчанию включен.
-hc CMD Указать команду, которая будет использоваться для завершения работы (down) хоста компиляции.
--help Вывести краткое описание использования и завершить работу.
-hi ID Указать идентификатор данного компонента компиляции для подсистемы мониторинга (heartbeat).
-i Режим инициализации: создать все необходимые каталоги и файлы, но не переходить в режим обслуживания запросов.
-I ID Задать индентификатор очереди компиляции, которая будет обрабатываться данным компонентом.
--instance-id INST-ID Указать идентификатор тестирующего компьютера. Этот идентификатор отображается в информации об очереди компиляции и доступных серверах компиляции.
--ip Задать IP-адрес. Этот адрес без изменений передаётся в ej-agent

и отображается в командной строке.

-k KEY Обслуживать только запросы, в которых передается параметр языка программирования key. Позволяет выполнять фильтрацию обрабатываемых запросов по какому-либо типу языков программирования.
-l FD Задать номер заранее открытого файлового дескриптора, который получен при открытии файла ejudge.xml</code. Эта опция необходима, когда компонент ej-compile работает не под пользователем ejudge, и, соответственно, не имеет доступа к этому файлу.
-nhb Выключить режим отслеживания состояния (heartbeat).
-nst Не перехватывать сигналы фатальных ошибок (SIGSEGV и аналогичные) для печати трассы стека в лог файл.
-p Запустить компонент в параллельном режиме, когда несколько компонентов работают на одном и том же хосте.
-S Перенаправить вывод на стандартный поток вывода и стандартный поток ошибок в лог-файл. Альтернатива фоновому режиму. (deprecated)
-R Режим перезапуска. Используется самим компонентом ej-compile при получении сигнала SIGHUP на перезапуск компонента.
-r DIR Задать альтернативное размещение каталога контестов CONTESTS_HOME_DIR (по умолчанию значение /home/judges).
-rc Указать команду, которая будет использоваться для перезагрузки (reboot) хоста компиляции.
-u USER Компонент должен работать с правами пользователя USER. Работает, чтолько если ej-compile запускается пользователем root.
-v Подробный (verbose) режим.
-x PATH Задать путь к файлу ejudge.xml (по умолчанию /home/judges/data/ejudge.xml).