Difference between revisions of "Ej-polygon"

From EjudgeWiki
Line 1: Line 1:
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Общая архитектура системы]]/[[ej-polygon]]
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Общая архитектура системы]]/[[ej-polygon]]
  
Программа [[ej-polygon]] предназначена для взаимодействия с системой [http://codecenter.sgu.ru/polygon/login Polygon]. Она предназначена для загрузки из системы Polygon последних версий пакетов для OS Linux и импорта задач в систему ejudge. Если в системе Polygon последняя версия пакета для Linux не сгенерирована, автоматически запускается генерация последней версии пакета.
+
Программа [[ej-polygon]] предназначена для взаимодействия с системой [http://codecenter.sgu.ru/polygon Polygon]. Она предназначена для загрузки из системы Polygon пакетов для OS Linux для последних ревизий задач и импорта задач в систему ejudge. Если в системе Polygon не сгенерирован пакет для последней ревизии задачи, автоматически запускается генерация такого пакета.
  
 
Программа запускается следующим образом:
 
Программа запускается следующим образом:
Line 14: Line 14:
 
  download_dir = "/home/judges/000263/download"
 
  download_dir = "/home/judges/000263/download"
 
  problem_dir = "/home/judges/000263/problems"
 
  problem_dir = "/home/judges/000263/problems"
  ids = "3780"
+
  id = "3780"
  ids = "3197"
+
  id = "3197"
  ids = "cdecl"
+
  id = "cdecl"
  ids = "git"
+
  id = "git"
  ids = "abatjour"
+
  id = "abatjour"
  ids = "n-dice-average"
+
  id = "n-dice-average"
  ids = "a-plus-b-2012"
+
  id = "a-plus-b-2012"
  ids = "weekend-shift"
+
  id = "weekend-shift"
  ids = "backup"
+
  id = "backup"
  ids = "z2-matrix"
+
  id = "z2-matrix"
  
 
Все конфигурационные переменные, допустимые в конфигурационном файле, перечислены ниже.
 
Все конфигурационные переменные, допустимые в конфигурационном файле, перечислены ниже.
  
sleep_interval = SLEEP-INTERVAL
+
=== Обязательные параметры ===
enable_max_stack_size = 1
+
 
polygon_url = URL
 
 
  login = LOGIN
 
  login = LOGIN
 +
Задает login в систему Polygon.
 +
 
  password = PASSWORD
 
  password = PASSWORD
  user_agent = USER-AGENT
+
Задает пароль в систему Polygon.
 +
 
 +
  download_dir = DOWNLOAD-DIR
 +
Задает путь к каталогу, в который будут скачиваться .zip-файлы с полным linux-архивом задач. Если каталог с заданным путем не существовал, он создается. Если в указанном каталоге уже существует .zip-файл, соответствующий последней ревизии задачи, локальное состояние задачи считается актуальным, и архив заново не скачивается.
 +
 
 +
problem_dir = PROBLEM-DIR
 +
Задает путь к каталогу, в котором размещаются каталоги задач турнира. Для турнира должна быть включена [[альтернативная раскладка файлов]].
 +
 
 +
id = ID
 +
Задает идентификатор задачи для импорта. В качестве идентификатора задачи поддерживается как problemId (например, 3780), так и problemName (weekend-shift). В конфигурационном файле может быть указано несколько идентификаторов задач.
 +
 
 +
=== Дополнительные параметры ===
 +
 
 
  log_file = LOG-FILE
 
  log_file = LOG-FILE
 +
Задает путь к файлу, в который будет сохранен диагностический вывод программы ej-polygon. Если параметр не задан, для этих целей используется стандартный поток ошибок.
 +
 
  status_file = STATUS-FILE
 
  status_file = STATUS-FILE
 +
Задает путь к файлу, в который будет сохранен итоговый статус работы программы ej-polygon. Если параметр не задан, итоговый статус работы будет выведен на стандартный поток вывода.
 +
 
  pid_file = PID-FILE
 
  pid_file = PID-FILE
download_dir = DOWNLOAD-DIR
+
Задает путь к файлу, в который будет записан идентификатор процесса ej-polygon. Этот файл удаляется при завершении работы ej-polygon. Если параметр не задан, файл создаваться не будет.
problem_dir = PROBLEM-DIR
+
 
 
  dir_mode = DIR-MODE
 
  dir_mode = DIR-MODE
 +
Задает права доступа к создаваемым каталогам. Права доступа записываются в восьмеричной нотации, например, 755. Если права доступа не заданы, будет использовано стандартное значение (777 & ~umask).
 +
 
  dir_group = DIR-GROUP
 
  dir_group = DIR-GROUP
 +
Задает имя группы пользователей, которой будут принадлежать создаваемые каталоги. Если параметр не задан, будет использоваться основной идентификатор группы пользователя,
 +
запустившего ej-polygon.
 +
 
  file_mode = FILE-MODE
 
  file_mode = FILE-MODE
 +
Задает права доступа к создаваемым файлам. Права доступа записываются в восьмеричной нотации, например, 644. Если права доступа не заданы, будет использовано стандартное значение (666 & ~umask).
 +
 
  file_group = FILE-GROUP
 
  file_group = FILE-GROUP
 +
Задает имя группы пользователей, которой будут принадлежать создаваемые файлы. Если параметр не задан, будет использоваться основной идентификатор группы пользователя,
 +
запустившего ej-polygon.
 +
 +
enable_max_stack_size = 1
 +
Если этот конфигурационный параметр установлен, то в создаваемом конфигурационном файле турнира ejudge ограничение размера стека автоматически устанавливается равным ограничению на объем памяти, заданным в описании задачи в архиве Polygon.
 +
 +
=== Параметры настройки ===
 +
 +
working_dir = WORKING-DIR
 +
Позволяет установить рабочий каталог, в котором будет работать программа ej-polygon. Если параметр не задан, программа не будет изменять рабочий каталог.
 +
 +
sleep_interval = SLEEP-INTERVAL
 +
Позволяет установить паузу между последовательными опросами состояния готовности пакетов в системе Polygon. Значение по умолчанию - 10 (секунд).
 +
 +
polygon_url = URL
 +
user_agent = USER-AGENT
 
  arch = ARCH
 
  arch = ARCH
working_dir = WORKING-DIR
 
 
  problem_xml_name = PROBLEM-XML-NAME
 
  problem_xml_name = PROBLEM-XML-NAME
 
  testset = TESTSET
 
  testset = TESTSET
ids = ID
 

Revision as of 15:26, 1 June 2012

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

Программа ej-polygon предназначена для взаимодействия с системой Polygon. Она предназначена для загрузки из системы Polygon пакетов для OS Linux для последних ревизий задач и импорта задач в систему ejudge. Если в системе Polygon не сгенерирован пакет для последней ревизии задачи, автоматически запускается генерация такого пакета.

Программа запускается следующим образом:

ej-polygon CONFIG-FILE

Где CONFIG-FILE - это путь к конфигурационному файлу, содержащему всю необходимую информацию для работы программы. Конфигурационный файл записывается в стандартном формате .cfg-файлов, например:

login = "USER"
password = "PASSWORD"
log_file = "/home/judges/000263/log.txt"
status_file = "/home/judges/000263/status.txt"
pid_file = "/home/judges/000263/pid.txt"
download_dir = "/home/judges/000263/download"
problem_dir = "/home/judges/000263/problems"
id = "3780"
id = "3197"
id = "cdecl"
id = "git"
id = "abatjour"
id = "n-dice-average"
id = "a-plus-b-2012"
id = "weekend-shift"
id = "backup"
id = "z2-matrix"

Все конфигурационные переменные, допустимые в конфигурационном файле, перечислены ниже.

Обязательные параметры

login = LOGIN

Задает login в систему Polygon.

password = PASSWORD

Задает пароль в систему Polygon.

download_dir = DOWNLOAD-DIR

Задает путь к каталогу, в который будут скачиваться .zip-файлы с полным linux-архивом задач. Если каталог с заданным путем не существовал, он создается. Если в указанном каталоге уже существует .zip-файл, соответствующий последней ревизии задачи, локальное состояние задачи считается актуальным, и архив заново не скачивается.

problem_dir = PROBLEM-DIR

Задает путь к каталогу, в котором размещаются каталоги задач турнира. Для турнира должна быть включена альтернативная раскладка файлов.

id = ID

Задает идентификатор задачи для импорта. В качестве идентификатора задачи поддерживается как problemId (например, 3780), так и problemName (weekend-shift). В конфигурационном файле может быть указано несколько идентификаторов задач.

Дополнительные параметры

log_file = LOG-FILE

Задает путь к файлу, в который будет сохранен диагностический вывод программы ej-polygon. Если параметр не задан, для этих целей используется стандартный поток ошибок.

status_file = STATUS-FILE

Задает путь к файлу, в который будет сохранен итоговый статус работы программы ej-polygon. Если параметр не задан, итоговый статус работы будет выведен на стандартный поток вывода.

pid_file = PID-FILE

Задает путь к файлу, в который будет записан идентификатор процесса ej-polygon. Этот файл удаляется при завершении работы ej-polygon. Если параметр не задан, файл создаваться не будет.

dir_mode = DIR-MODE

Задает права доступа к создаваемым каталогам. Права доступа записываются в восьмеричной нотации, например, 755. Если права доступа не заданы, будет использовано стандартное значение (777 & ~umask).

dir_group = DIR-GROUP

Задает имя группы пользователей, которой будут принадлежать создаваемые каталоги. Если параметр не задан, будет использоваться основной идентификатор группы пользователя, запустившего ej-polygon.

file_mode = FILE-MODE

Задает права доступа к создаваемым файлам. Права доступа записываются в восьмеричной нотации, например, 644. Если права доступа не заданы, будет использовано стандартное значение (666 & ~umask).

file_group = FILE-GROUP

Задает имя группы пользователей, которой будут принадлежать создаваемые файлы. Если параметр не задан, будет использоваться основной идентификатор группы пользователя, запустившего ej-polygon.

enable_max_stack_size = 1

Если этот конфигурационный параметр установлен, то в создаваемом конфигурационном файле турнира ejudge ограничение размера стека автоматически устанавливается равным ограничению на объем памяти, заданным в описании задачи в архиве Polygon.

Параметры настройки

working_dir = WORKING-DIR

Позволяет установить рабочий каталог, в котором будет работать программа ej-polygon. Если параметр не задан, программа не будет изменять рабочий каталог.

sleep_interval = SLEEP-INTERVAL

Позволяет установить паузу между последовательными опросами состояния готовности пакетов в системе Polygon. Значение по умолчанию - 10 (секунд).

polygon_url = URL
user_agent = USER-AGENT
arch = ARCH
problem_xml_name = PROBLEM-XML-NAME
testset = TESTSET