Difference between revisions of "Ejudge-control"
From EjudgeWiki
 (...)  | 
				 (...)  | 
				||
| (3 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
систему ejudge.  | систему ejudge.  | ||
| − | * <code>ejudge-control OPTIONS start</code> — запуск ejudge  | + | * <code>ejudge-control OPTIONS start [COMPONENT]</code> — запуск ejudge.  | 
| − | * <code>ejudge-control OPTIONS stop</code> — остановка ejudge  | + | * <code>ejudge-control OPTIONS stop [COMPONENT]</code> — остановка ejudge.  | 
| + | * <code>ejudge-control OPTIONS rotate [COMPONENT]</code> — Переименование логов ejudge.  | ||
| + | |||
| + | <code>COMPONENT</code> — это название запускаемого  | ||
| + | или останавливаемого компонента.  | ||
| + | |||
| + | {| class="wikitable" style="margin:auto"  | ||
| + | |-  | ||
| + | | <code>ej-agent</code> <code>agent</code> <code>agents</code>  | ||
| + | | [[ej-agent]] (только <code>stop</code> и <code>rotate</code>)  | ||
| + | |-  | ||
| + | | <code>ej-compile</code> <code>compile</code>  | ||
| + | | [[ej-compile]]  | ||
| + | |-  | ||
| + | | <code>ej-contests</code> <code>contests</code> <code>contest</code>  | ||
| + | | [[ej-contests]]  | ||
| + | |-  | ||
| + | | <code>ej-jobs</code> <code>jobs</code> <code>job</code>  | ||
| + | | [[ej-jobs]]  | ||
| + | |-  | ||
| + | | <code>ej-super-run</code> <code>super-run</code> <code>run</code>  | ||
| + | | [[ej-super-run]]  | ||
| + | |-  | ||
| + | | <code>ej-super-server</code> <code>super-server</code> <code>server</code>  | ||
| + | | [[ej-super-server]]  | ||
| + | |-  | ||
| + | | <code>ej-users</code> <code>users</code> <code>user</code>  | ||
| + | | [[ej-users]]  | ||
| + | |-  | ||
| + | |}  | ||
| + | |||
| + | Компоненты запускаются в следующем порядке: ej-users, ej-super-server, ej-compile, ej-super-run, ej-jobs, ej-contests.  | ||
| + | |||
| + | Компоненты останавливаются в следующем порядке: ej-compile, ej-super-run, ej-super-server, ej-contests, ej-jobs, ej-users.  | ||
| + | |||
| + | Например, команда  | ||
| + |  ejudge-control start  | ||
| + | запускает все компоненты  | ||
| + | |||
| + | Команда  | ||
| + |  ejudge-control stop contest  | ||
| + | останавливает компонент ej-contests  | ||
=== ejudge-control start ===  | === ejudge-control start ===  | ||
| Line 11: | Line 52: | ||
При запуске ejudge поддерживаются следующие опции:  | При запуске ejudge поддерживаются следующие опции:  | ||
| − | + | {| class="wikitable" style="margin:auto"  | |
| − | + | |+ Поддерживаемые опции  | |
| − | + | |-  | |
| − | + | | <code>--agent AGENT</code>  | |
| − | + | | Указать спецификацию, каким способом будет выполняться обмен файлами с сервером ejudge. Опция может указываться при запуске ejudge в подчиненном (slave) режиме. В настоящее время поддерживается только обмен файлами по ssh. См. [[Параллельное тестирование]]  | |
| − | + | |-  | |
| − | + | | <code>--date-suffix</code>  | |
| − | + | | Используется вместе с командой <code>rotate</code>, чтобы ротируемые файлы логов имели суффикс, равный дате выполнения команды rotate, например, 20230512.  | |
| − | + | |-  | |
| − | + | | <code>-f</code>  | |
| − | + | | Режим принудительного выполнения операции.  | |
| − | + | |-  | |
| − | + | | <code>-g GROUP</code>  | |
| − | + | | Задать группу, под которой будет стартовать и работать ejudge. Может использоваться только если команду выполняет пользователь root.  | |
| − | + | |-  | |
| − | + | | <code>-hb</code>  | |
| − | + | | Включить режим отслеживания состояния (heartbeat) компонентов [[ej-super-run]] и [[ej-compile]]. По умолчанию включен.  | |
| − | + | |-  | |
| − | + | | <code>-hc CMD</code>  | |
| − | + | | Указать команду, которая будет использоваться для завершения работы (down) тестирующего хоста.  | |
| + | |-  | ||
| + | | <code>--help</code>  | ||
| + | | Вывести краткое описание использования и завершить работу.  | ||
| + | |-  | ||
| + | | <code>-ht MIN</code>  | ||
| + | | Задать тайм-аут, после которого тестирующий хост автоматически завершится. Опция может указываться при запуске ejudge в подчиненном (slave) режиме.  | ||
| + | |-  | ||
| + | | <code>--instance-id INST-ID</code>  | ||
| + | | Указать идентификатор тестирующего компьютера. Опция может указываться при запуске ejudge в подчиненном режиме.  | ||
| + | |-  | ||
| + | | <code>--ip</code>  | ||
| + | | Задать IP-адрес. Этот адрес без изменений передаётся в [[ej-agent]]  | ||
| + | и отображается в командной строке.  | ||
| + | |-  | ||
| + | | <code>-m</code>  | ||
| + | | Чисто серверный (master) режим. Запускаются только компоненты [[ej-users]], [[ej-contests]], [[ej-super-server]], [[ej-jobs]].  | ||
| + | |-  | ||
| + | | <code>--mirror DIR</code>  | ||
| + | | Указать путь к каталогу, который будет использоваться для кеширования файлов с сервера ejudge. Опция может указываться при запуске ejudge в подчиненном режиме.  | ||
| + | |-  | ||
| + | | <code>-nc</code>  | ||
| + | | Не запускать компонент [[ej-contests]].  | ||
| + | |-  | ||
| + | | <code>-nhb</code>  | ||
| + | | Выключить режим отслеживания состояния (heartbeat) компонентов [[ej-super-run]]  | ||
| + | и [[ej-compile]].  | ||
| + | |-  | ||
| + | | <code>-nj</code>  | ||
| + | | Не запускать компонент [[ej-jobs]].  | ||
| + | |-  | ||
| + | | <code>-no</code>  | ||
| + | | Не запускать компонент [[ej-compile]].  | ||
| + | |-  | ||
| + | | <code>-nr</code>  | ||
| + | | Не запускать компонент [[ej-super-run]].  | ||
| + | |-  | ||
| + | | <code>-ns</code>  | ||
| + | | Не запускать компонент [[ej-super-server]].  | ||
| + | |-  | ||
| + | | <code>-nu</code>  | ||
| + | | Не запускать компонент [[ej-users]].  | ||
| + | |-  | ||
| + | | <code>--queue QUEUE-ID</code>  | ||
| + | | Указать идентификатор очереди посылок, из которой будут забираться решения на компиляцию и тестирование. Опция может указываться при запуске ejudge в подчиненном (slave) режиме.  | ||
| + | |-  | ||
| + | | <code>-rc</code>  | ||
| + | | Указать команду, которая будет использоваться для перезагрузки (reboot) тестирующего хоста.  | ||
| + | |-  | ||
| + | | <code>-s</code>  | ||
| + | | Подчиненный (slave) режим. Запускается только компонент [[ej-compile]], отвечающий за компиляцию решений, и компонент [[ej-super-run]], отвечающий за тестирование решений.  | ||
| + | |-  | ||
| + | | <code>-u USER</code>  | ||
| + | | Задать пользователя, под которым будет стартовать и работать ejudge. Может использоваться только если команду выполняет пользователь root.  | ||
| + | |-  | ||
| + | | <code>--lang-id-map MAP-FILE</code>  | ||
| + | | Задать имя файла, в котором находится отображение идентификаторов языков программирования, переданных в запросах на компиляцию, в сконфигурированные идентификаторы языков программирования компонента [[ej-compile]]  | ||
| + | |-  | ||
| + | | <code>--local-cache CACHE-DIR</code>  | ||
| + | | Задать путь к каталогу, который будет использоваться для кеширования результатов компиляции для быстрой передачи их компоненту [[ej-super-run]].  | ||
| + | |-  | ||
| + | | <code>-v</code>  | ||
| + | | Подробный (verbose) режим.  | ||
| + | |-  | ||
| + | | <code>--version</code>  | ||
| + | | Вывести версию программы и завершить работу.  | ||
| + | |}  | ||
Latest revision as of 22:21, 10 August 2023
Навигация: Главная страница/Система ejudge/Использование/Общая архитектура системы/ejudge-control
Программа ejudge-control позволяет запустить или остановить систему ejudge.
ejudge-control OPTIONS start [COMPONENT]— запуск ejudge.ejudge-control OPTIONS stop [COMPONENT]— остановка ejudge.ejudge-control OPTIONS rotate [COMPONENT]— Переименование логов ejudge.
COMPONENT — это название запускаемого
или останавливаемого компонента.
ej-agent agent agents
 | 
ej-agent (только stop и rotate)
 | 
ej-compile compile
 | 
ej-compile | 
ej-contests contests contest
 | 
ej-contests | 
ej-jobs jobs job
 | 
ej-jobs | 
ej-super-run super-run run
 | 
ej-super-run | 
ej-super-server super-server server
 | 
ej-super-server | 
ej-users users user
 | 
ej-users | 
Компоненты запускаются в следующем порядке: ej-users, ej-super-server, ej-compile, ej-super-run, ej-jobs, ej-contests.
Компоненты останавливаются в следующем порядке: ej-compile, ej-super-run, ej-super-server, ej-contests, ej-jobs, ej-users.
Например, команда
ejudge-control start
запускает все компоненты
Команда
ejudge-control stop contest
останавливает компонент ej-contests
ejudge-control start
При запуске ejudge поддерживаются следующие опции:
--agent AGENT
 | 
Указать спецификацию, каким способом будет выполняться обмен файлами с сервером ejudge. Опция может указываться при запуске ejudge в подчиненном (slave) режиме. В настоящее время поддерживается только обмен файлами по ssh. См. Параллельное тестирование | 
--date-suffix
 | 
Используется вместе с командой rotate, чтобы ротируемые файлы логов имели суффикс, равный дате выполнения команды rotate, например, 20230512.
 | 
-f
 | 
Режим принудительного выполнения операции. | 
-g GROUP
 | 
Задать группу, под которой будет стартовать и работать ejudge. Может использоваться только если команду выполняет пользователь root. | 
-hb
 | 
Включить режим отслеживания состояния (heartbeat) компонентов ej-super-run и ej-compile. По умолчанию включен. | 
-hc CMD
 | 
Указать команду, которая будет использоваться для завершения работы (down) тестирующего хоста. | 
--help
 | 
Вывести краткое описание использования и завершить работу. | 
-ht MIN
 | 
Задать тайм-аут, после которого тестирующий хост автоматически завершится. Опция может указываться при запуске ejudge в подчиненном (slave) режиме. | 
--instance-id INST-ID
 | 
Указать идентификатор тестирующего компьютера. Опция может указываться при запуске ejudge в подчиненном режиме. | 
--ip
 | 
Задать IP-адрес. Этот адрес без изменений передаётся в ej-agent
 и отображается в командной строке.  | 
-m
 | 
Чисто серверный (master) режим. Запускаются только компоненты ej-users, ej-contests, ej-super-server, ej-jobs. | 
--mirror DIR
 | 
Указать путь к каталогу, который будет использоваться для кеширования файлов с сервера ejudge. Опция может указываться при запуске ejudge в подчиненном режиме. | 
-nc
 | 
Не запускать компонент ej-contests. | 
-nhb
 | 
Выключить режим отслеживания состояния (heartbeat) компонентов ej-super-run
 и ej-compile.  | 
-nj
 | 
Не запускать компонент ej-jobs. | 
-no
 | 
Не запускать компонент ej-compile. | 
-nr
 | 
Не запускать компонент ej-super-run. | 
-ns
 | 
Не запускать компонент ej-super-server. | 
-nu
 | 
Не запускать компонент ej-users. | 
--queue QUEUE-ID
 | 
Указать идентификатор очереди посылок, из которой будут забираться решения на компиляцию и тестирование. Опция может указываться при запуске ejudge в подчиненном (slave) режиме. | 
-rc
 | 
Указать команду, которая будет использоваться для перезагрузки (reboot) тестирующего хоста. | 
-s
 | 
Подчиненный (slave) режим. Запускается только компонент ej-compile, отвечающий за компиляцию решений, и компонент ej-super-run, отвечающий за тестирование решений. | 
-u USER
 | 
Задать пользователя, под которым будет стартовать и работать ejudge. Может использоваться только если команду выполняет пользователь root. | 
--lang-id-map MAP-FILE
 | 
Задать имя файла, в котором находится отображение идентификаторов языков программирования, переданных в запросах на компиляцию, в сконфигурированные идентификаторы языков программирования компонента ej-compile | 
--local-cache CACHE-DIR
 | 
Задать путь к каталогу, который будет использоваться для кеширования результатов компиляции для быстрой передачи их компоненту ej-super-run. | 
-v
 | 
Подробный (verbose) режим. | 
--version
 | 
Вывести версию программы и завершить работу. |