Difference between revisions of "Serve.cfg:global:enable remote cache"
(Created page with "Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/se...") |
(...) |
||
| Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[serve.cfg]]/[[serve.cfg:global|Глобальные конфигурационные параметры]]/<code>[[Serve.cfg:global:enable_remote_cache|enable_remote_cache]]</code> | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[serve.cfg]]/[[serve.cfg:global|Глобальные конфигурационные параметры]]/<code>[[Serve.cfg:global:enable_remote_cache|enable_remote_cache]]</code> | ||
| + | |||
| + | Типичный путь поступившего на тестирование файла выглядит следующим образом: | ||
| + | * исходный файл передается через каталоги обмена от [[ej-contests]] к [[ej-compile]]. Если компоненты находятся на разных хостах, файл копируется по сети. | ||
| + | * после компиляции скомпилированный файл передается через каталоги обмена от [[ej-compile]] к [[ej-contests]]. Если компоненты находятся на разных хостах, файл копируется по сети. | ||
| + | * скомпилированный файл передается через каталоги обмена от [[ej-contests]] к [[ej-super-run]]. Если компоненты находятся на разных хостах, файл копируется по сети. | ||
| + | |||
| + | Размер скомпилированного файла может быть весьма большим (несколько мегабайт), например, для программ на kotlin или go, и копирование исполняемого файла | ||
| + | по сети туда и обратно может потребовать заметного времени, сравнимого со | ||
| + | временем тестирования. | ||
| + | |||
| + | В случае, когда и компонент компиляции [[ej-compile]], и компонент тестирования [[ej-super-run]] выполняются на одном и том же хосте, отличном от хоста [[ej-contests]], и только на этом хосте, передавать результат компиляции по сети на сервер [[ej-contests]] и обратно не имеет смысла. | ||
| + | |||
| + | В этом случае можно использовать локальное кеширование результатов компиляции. | ||
| + | Компонент [[ej-compile]] не скопирует файл на сервер, а положит его в | ||
| + | локальный каталог, из которого он будет забран компонентом [[ej-super-run]]. | ||
| + | |||
| + | Для включения локального кеширования глобальная конфигурационная | ||
| + | переменная <code>enable_remote_cache</code> должна быть установлена | ||
| + | в положительное значение. Кроме того, при запуске компонентов | ||
| + | компиляции и тестирования ejudge должна быть указана опция | ||
| + | <code>--local-cache</code>. | ||
| + | |||
| + | Пример: | ||
| + | enable_remote_cache | ||
| + | |||
| + | Поддерживается начиная с версии [[изменения в версии 3.11.0|3.11.0]]. | ||
Revision as of 22:21, 10 August 2023
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Глобальные конфигурационные параметры/enable_remote_cache
Типичный путь поступившего на тестирование файла выглядит следующим образом:
- исходный файл передается через каталоги обмена от ej-contests к ej-compile. Если компоненты находятся на разных хостах, файл копируется по сети.
- после компиляции скомпилированный файл передается через каталоги обмена от ej-compile к ej-contests. Если компоненты находятся на разных хостах, файл копируется по сети.
- скомпилированный файл передается через каталоги обмена от ej-contests к ej-super-run. Если компоненты находятся на разных хостах, файл копируется по сети.
Размер скомпилированного файла может быть весьма большим (несколько мегабайт), например, для программ на kotlin или go, и копирование исполняемого файла по сети туда и обратно может потребовать заметного времени, сравнимого со временем тестирования.
В случае, когда и компонент компиляции ej-compile, и компонент тестирования ej-super-run выполняются на одном и том же хосте, отличном от хоста ej-contests, и только на этом хосте, передавать результат компиляции по сети на сервер ej-contests и обратно не имеет смысла.
В этом случае можно использовать локальное кеширование результатов компиляции. Компонент ej-compile не скопирует файл на сервер, а положит его в локальный каталог, из которого он будет забран компонентом ej-super-run.
Для включения локального кеширования глобальная конфигурационная
переменная enable_remote_cache должна быть установлена
в положительное значение. Кроме того, при запуске компонентов
компиляции и тестирования ejudge должна быть указана опция
--local-cache.
Пример:
enable_remote_cache
Поддерживается начиная с версии 3.11.0.