lilalo
diff l3config.pm @ 25:ba4d6515b8fd
Выполнен шаг (3) в плане (N05) по построению распределённой системы lilalo.
Агент l3-агент в реальном времени анализирует скрипты в указанном ему
каталоге и по мере обнаружения новых завершённых команд записывает их
в кэш-файл.
Данные о том, докуда разобран каждый скрипт-файл сохраняются во временном
файле, для того чтобы при перезапуске агента он мог продолжить разбор
с того места, где он был остановлен в прошлый раз, а не копировал
данные в кэш-файл повторно.
Агент запускается для каждого пользователя системы.
Если агент обнаружил свою копию работающую от имени того же пользователя,
он автоматически завершается.
Поиск копии агента выполняется так:
просматривается pid-файл агента - если его нет, считается, что и агент не запущен
(Внимание! Не удаляйте pid-файл!! Работа нескольких агентов от имени одного
пользователя может быть некорректной!)
Если он есть, выполняется проверка, действительно ли процесс с таким идентификатором
это l3-агент текущего пользователя. Если нет, pid-файл удаляется, и агент запускается.
Нормальное завершение агента, работающего в режиме демона, выполняется
с помощью сигнала TERM. При завершении агент автоматически стирает свой pid-файл.
Добавлены атрибуты команды, хранящие информацию о участке бинарного файла скрипта,
соответствующей команды:
raw_start - начало блока команды
raw_output_start - начало вывода команды
raw_end - окончание вывода
raw_file - имя бинарного файла
Файлы:
(могут меняться с помощью конфигурационных параметров)
~/.labmaker/.cache.dat
~/.labmaker/cache.xml
~/.labmaker/l3-agent.pid
Конфигурационные параметры:
cache_stat Имя файла с информацией о текущей позиции разбора
в каждом файле
mode Режим, в котором работает агент.
Допустимые значения:
daemon - в режиме непрерывного опроса каталога
Программа не завершается после окончания анализа,
а ждёт появления новых данных
normal - однократный анализ каталога.
Программа завершается после окончания анализа данных
daemon_sleep_interval Интервал через который агент просматривает каталог скриптов
в поисках новых данных
detach Нужно ли выполнять отключение от терминала при работе в режиме демона?
(строго говоря, если процесс не отключился от терминала,
то и в режиме демона он работать не может. Здесь имеется в виду
режим непрерывного опроса каталога)
agent_pidfile Путь к файлу, который будет хранить идентификатор процесса агента.
l3-agent Имя, под которым будет известен процесс l3-agent
Незначительные исправления:
* убрана отладочная информация о new_commands и new_files из frontend'а
Агент l3-агент в реальном времени анализирует скрипты в указанном ему
каталоге и по мере обнаружения новых завершённых команд записывает их
в кэш-файл.
Данные о том, докуда разобран каждый скрипт-файл сохраняются во временном
файле, для того чтобы при перезапуске агента он мог продолжить разбор
с того места, где он был остановлен в прошлый раз, а не копировал
данные в кэш-файл повторно.
Агент запускается для каждого пользователя системы.
Если агент обнаружил свою копию работающую от имени того же пользователя,
он автоматически завершается.
Поиск копии агента выполняется так:
просматривается pid-файл агента - если его нет, считается, что и агент не запущен
(Внимание! Не удаляйте pid-файл!! Работа нескольких агентов от имени одного
пользователя может быть некорректной!)
Если он есть, выполняется проверка, действительно ли процесс с таким идентификатором
это l3-агент текущего пользователя. Если нет, pid-файл удаляется, и агент запускается.
Нормальное завершение агента, работающего в режиме демона, выполняется
с помощью сигнала TERM. При завершении агент автоматически стирает свой pid-файл.
Добавлены атрибуты команды, хранящие информацию о участке бинарного файла скрипта,
соответствующей команды:
raw_start - начало блока команды
raw_output_start - начало вывода команды
raw_end - окончание вывода
raw_file - имя бинарного файла
Файлы:
(могут меняться с помощью конфигурационных параметров)
~/.labmaker/.cache.dat
~/.labmaker/cache.xml
~/.labmaker/l3-agent.pid
Конфигурационные параметры:
cache_stat Имя файла с информацией о текущей позиции разбора
в каждом файле
mode Режим, в котором работает агент.
Допустимые значения:
daemon - в режиме непрерывного опроса каталога
Программа не завершается после окончания анализа,
а ждёт появления новых данных
normal - однократный анализ каталога.
Программа завершается после окончания анализа данных
daemon_sleep_interval Интервал через который агент просматривает каталог скриптов
в поисках новых данных
detach Нужно ли выполнять отключение от терминала при работе в режиме демона?
(строго говоря, если процесс не отключился от терминала,
то и в режиме демона он работать не может. Здесь имеется в виду
режим непрерывного опроса каталога)
agent_pidfile Путь к файлу, который будет хранить идентификатор процесса агента.
l3-agent Имя, под которым будет известен процесс l3-agent
Незначительные исправления:
* убрана отладочная информация о new_commands и new_files из frontend'а
author | devi |
---|---|
date | Thu Nov 03 17:49:56 2005 +0200 (2005-11-03) |
parents | 6d93c5f1d0e5 |
children | 098664cf339c |
line diff
1.1 --- a/l3config.pm Wed Nov 02 19:16:11 2005 +0200 1.2 +++ b/l3config.pm Thu Nov 03 17:49:56 2005 +0200 1.3 @@ -40,6 +40,7 @@ 1.4 "encoding" => "utf-8", 1.5 1.6 "cache" => "/tmp/report.xml", 1.7 + "cache_stat" => "/tmp/.report.dat", 1.8 1.9 "output" => "/tmp/report.html", 1.10 #"output" => "report.xml", 1.11 @@ -55,7 +56,14 @@ 1.12 1.13 comment_width => "300", 1.14 time_width => "60", 1.15 + 1.16 + "mode" => "daemon", # daemon | normal 1.17 + "daemon_sleep_interval" => "1", 1.18 + "detach" => "yes", 1.19 + "agent_pidfile" => "$ENV{HOME}/.labmaker/l3-agent.pid", 1.20 1.21 + "l3-agent" => "l3-agent", 1.22 + 1.23 "course-name" => "", 1.24 "course-code" => "", 1.25 "course-date" => "",