Difference between revisions of "Ej-polygon"
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Общая архитектура системы]]/[[ej-polygon]] | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Общая архитектура системы]]/[[ej-polygon]] | ||
− | Программа [[ej-polygon]] предназначена для взаимодействия с системой [http://codecenter.sgu.ru/polygon | + | Программа [[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" | ||
− | + | 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 = LOGIN | ||
+ | Задает login в систему Polygon. | ||
+ | |||
password = PASSWORD | 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 | log_file = LOG-FILE | ||
+ | Задает путь к файлу, в который будет сохранен диагностический вывод программы ej-polygon. Если параметр не задан, для этих целей используется стандартный поток ошибок. | ||
+ | |||
status_file = STATUS-FILE | status_file = STATUS-FILE | ||
+ | Задает путь к файлу, в который будет сохранен итоговый статус работы программы ej-polygon. Если параметр не задан, итоговый статус работы будет выведен на стандартный поток вывода. | ||
+ | |||
pid_file = PID-FILE | pid_file = PID-FILE | ||
− | + | Задает путь к файлу, в который будет записан идентификатор процесса ej-polygon. Этот файл удаляется при завершении работы ej-polygon. Если параметр не задан, файл создаваться не будет. | |
− | + | ||
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 | ||
− | |||
problem_xml_name = PROBLEM-XML-NAME | problem_xml_name = PROBLEM-XML-NAME | ||
testset = TESTSET | testset = TESTSET | ||
− |
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