Difference between revisions of "Ejudge-control"

From EjudgeWiki
(...)
(...)
Line 4: Line 4:
 
систему ejudge.
 
систему ejudge.
  
* <code>ejudge-control OPTIONS start</code> &mdash; запуск ejudge
+
* <code>ejudge-control OPTIONS start [COMPONENT]</code> &mdash; запуск ejudge.
* <code>ejudge-control OPTIONS stop</code> &mdash; остановка ejudge
+
* <code>ejudge-control OPTIONS stop [COMPONENT]</code> &mdash; остановка ejudge.
 +
* <code>ejudge-control OPTIONS rotate [COMPONENT]</code> &mdash; Переименование логов ejudge.
 +
 
 +
<code>COMPONENT</code> &mdash; это название запускаемого
 +
или останавливаемого компонента.
 +
 
 +
{|
 +
|-
 +
| <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 поддерживаются следующие опции:
  
* <code>--agent AGENT</code> &mdash; указать спецификацию, каким способом будет выполняться обмен файлами с сервером ejudge. Опция может указываться при запуске ejudge в подчиненном (slave) режиме. В настоящее время поддерживается только обмен файлами по ssh. См. [[Параллельное тестирование]]
+
{|
* <code>-f</code> &mdash; режим принудительного выполнения операции
+
|+ Поддерживаемые опции
* <code>-g GROUP</code> &mdash; задать группу, под которой будет стартовать и работать ejudge. Может использоваться только если команду выполняет пользователь root.
+
|-
* <code>-hb</code> &mdash; включить режим отслеживания состояния (heartbeat) компонента [[ej-super-run]].
+
| <code>--agent AGENT</code>
* <code>-hc CMD</code> &mdash; указать команду, которая будет использоваться для завершения работы тестирующего хоста.
+
| Указать спецификацию, каким способом будет выполняться обмен файлами с сервером ejudge. Опция может указываться при запуске ejudge в подчиненном (slave) режиме. В настоящее время поддерживается только обмен файлами по ssh. См. [[Параллельное тестирование]]
* <code>-ht MIN</code> &mdash; задать тайм-аут, после которого тестирующий хост автоматически завершится. Опция может указываться при запуске ejudge в подчиненном (slave) режиме.
+
|-
* <code>--instance-id INST-ID</code> &mdash; указать идентификатор тестирующего компьютера. Опция может указываться при запуске ejudge в подчиненном режиме.
+
| <code>--date-suffix</code>
* <code>-m</code> &mdash; чисто серверный (master) режим. Запускаются только компоненты [[ej-users]], [[ej-contests]], [[ej-super-serve]], [[ej-jobs]].
+
| Используется вместе с командой <code>rotate</code>, чтобы ротируемые файлы логов имели суффикс, равный дате выполнения команды rotate, например, 20230512.
* <code>--mirror DIR</code> &mdash; указать путь к каталогу, который будет использоваться для кеширования файлов с сервера ejudge. Опция может указываться при запуске ejudge в подчиненном режиме.
+
|-
* <code>-nc</code> &mdash; не запускать компонент [[ej-contests]].
+
| <code>-f</code>
* <code>-nhb</code> &mdash; выключить режим отслеживания состояния (heartbeat) компонента [[ej-super-run]].
+
| Режим принудительного выполнения операции.
* <code>-nj</code> &mdash; не запускать компонент [[ej-jobs]].
+
|-
* <code>-no</code> &mdash; не запускать компонент [[ej-compile]].
+
| <code>-g GROUP</code>
* <code>-nr</code> &mdash; не запускать компонент [[ej-super-run]].
+
| Задать группу, под которой будет стартовать и работать ejudge. Может использоваться только если команду выполняет пользователь root.
* <code>-ns</code> &mdash; не запускать компонент [[ej-super-serve]].
+
|-
* <code>-nu</code> &mdash; не запускать компонент [[ej-users]].
+
| <code>-hb</code>
* <code>--queue QUEUE-ID</code> &mdash; указать идентификатор очереди посылок, из которой будут забираться решения на компиляцию и тестирование. Опция может указываться при запуске ejudge в подчиненном (slave) режиме.
+
| Включить режим отслеживания состояния (heartbeat) компонентов [[ej-super-run]] и [[ej-compile]]. По умолчанию включен.
* <code>-s</code> &mdash; подчиненный (slave) режим. Запускается только компонент [[ej-compile]], отвечающий за компиляцию решений, и компонент [[ej-super-run]], отвечающий за тестирование решений.
+
|-
* <code>-u USER</code> &mdash; задать пользователя, под которым будет стартовать и работать ejudge. Может использоваться только если команду выполняет пользователь root.
+
| <code>-hc CMD</code>
* <code>-v</code> &mdash; подробный (verbose) режим.
+
| Указать команду, которая будет использоваться для завершения работы (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-serve]], [[ej-jobs]].
 +
|-
 +
| <code>--mirror DIR</code>
 +
| Указать путь к каталогу, который будет использоваться для кеширования файлов с сервера ejudge. Опция может указываться при запуске ejudge в подчиненном режиме.
 +
|-
 +
| <code>-nc</code>
 +
| Не запускать компонент [[ej-contests]].
 +
|-
 +
| <code>-nhb</code>
 +
| Выключить режим отслеживания состояния (heartbeat) компонента [[ej-super-run]].
 +
|-
 +
| <code>-nj</code>
 +
| Не запускать компонент [[ej-jobs]].
 +
|-
 +
| <code>-no</code>
 +
| Не запускать компонент [[ej-compile]].
 +
|-
 +
| <code>-nr</code>
 +
| Не запускать компонент [[ej-super-run]].
 +
|-
 +
| <code>-ns</code>
 +
| Не запускать компонент [[ej-super-serve]].
 +
|-
 +
| <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>-v</code>
 +
| Подробный (verbose) режим.
 +
|-
 +
| <code>--version</code>
 +
| Вывести версию программы и завершить работу.
 +
|}

Revision as of 14:31, 13 May 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-serve, ej-jobs.
--mirror DIR Указать путь к каталогу, который будет использоваться для кеширования файлов с сервера ejudge. Опция может указываться при запуске ejudge в подчиненном режиме.
-nc Не запускать компонент ej-contests.
-nhb Выключить режим отслеживания состояния (heartbeat) компонента ej-super-run.
-nj Не запускать компонент ej-jobs.
-no Не запускать компонент ej-compile.
-nr Не запускать компонент ej-super-run.
-ns Не запускать компонент ej-super-serve.
-nu Не запускать компонент ej-users.
--queue QUEUE-ID Указать идентификатор очереди посылок, из которой будут забираться решения на компиляцию и тестирование. Опция может указываться при запуске ejudge в подчиненном (slave) режиме.
-rc Указать команду, которая будет использоваться для перезагрузки (reboot) тестирующего хоста.
-s Подчиненный (slave) режим. Запускается только компонент ej-compile, отвечающий за компиляцию решений, и компонент ej-super-run, отвечающий за тестирование решений.
-u USER Задать пользователя, под которым будет стартовать и работать ejudge. Может использоваться только если команду выполняет пользователь root.
-v Подробный (verbose) режим.
--version Вывести версию программы и завершить работу.