lilalo

annotate TODO @ 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'а
author devi
date Thu Nov 03 17:49:56 2005 +0200 (2005-11-03)
parents 868607af758e
children d9a700d48bef
rev   line source
devi@0 1 TODO LIST
devi@0 2
devi@0 3 lm-report:
devi@0 4
devi@0 5 general: Отметка фрагментов + якоря из командной строки
devi@0 6
devi@0 7 user: Поддержка su и sudo
devi@0 8 diff: FIX не показывать плавающий бокс
devi@0 9 фрагменты: отмечать фрагменты для комментирования
devi@0 10 html: управление деталями
devi@0 11 html: навести порядок в css
devi@0 12
devi@0 13 web: индекс активности
devi@0 14 web: централизованный доступ
devi@0 15 web: периодическое обновление
devi@0 16 web: информация о лабе
devi@0 17
devi@0 18
devi@0 19
devi@0 20 lm:
devi@0 21 ls [[user@]host]
devi@0 22 list [[user@]host]
devi@0 23 показывает список ведщихся журналов
devi@0 24 cat журнал
devi@0 25 show журнал
devi@0 26 показывает заданный журнал
devi@0 27
devi@0 28 <журнал> указывается в форме console@host
devi@0 29
devi@0 30
devi@0 31 save host
devi@0 32 сохраняет журналы указанной машины
devi@0 33
devi@0 34
devi@0 35 do выполнение команды
devi@0 36 + стандартный набор команд (в т.ч. инсталляция)
devi@0 37
devi@9 38
devi@9 39 --------------------------------------------------------------------------------------
devi@9 40
devi@9 41
devi@9 42 Большой неотсортированный список TODO для проекта
devi@9 43
devi@9 44
devi@9 45
devi@9 46 - FIXME проверить синхронизацию вызова редактора
devi@9 47 - разделение по дням
devi@14 48
devi@14 49 В начале дня нужно выводить списки
devi@14 50 команд, файлов и ссылок,
devi@14 51 имеющих отношение к проведённой работе.
devi@14 52
devi@14 53 Ссылки на дни должны выводиться в оглавление.
devi@14 54 Неплохо было бы и новые команды маленьким шрифтом.
devi@14 55
devi@9 56 - lm-install указывается тип ОС
devi@9 57 - табуляция
devi@9 58
devi@9 59 Разбивка по работам
devi@9 60 - разбивка журнала по работам
devi@9 61 - название краткое описание работы
devi@9 62 - файлы/команды/ссылки для каждой работы
devi@9 63 - связь между методичкой и журналами
devi@9 64
devi@9 65 Статистика
devi@9 66 - график интенсивности
devi@9 67 - правильные/неправильные команды
devi@9 68 - распределение по командам
devi@9 69 - граф близости команд
devi@9 70
devi@9 71 Фильтрация
devi@9 72 - фильтрация в браузере по времени и тексту
devi@9 73 - по результату
devi@9 74 - по времени
devi@9 75
devi@9 76 Комментирование
devi@9 77 - комментирование
devi@9 78 - удаление
devi@9 79 - связь с wiki
devi@9 80
devi@9 81 Распределённость
devi@9 82 - единая БД, доступная через инет
devi@9 83 - поиск в этой базе данных/выборка по критерию
devi@9 84 - просмотр из кс
devi@9 85 - удобно использовать вместо history
devi@9 86 - просмотр/заполнение в реальном времени
devi@9 87 - идентификация человека/нити/команды
devi@9 88 - каждая команда - XML-элемент. Элементы передаются на сервер в реальном времени
devi@9 89
devi@9 90 Внешний браузер
devi@9 91 - звуковая привязка
devi@9 92
devi@9 93
devi@9 94 --------------------------------------------------------------------------------------
devi@9 95
devi@9 96
devi@14 97 Идеи, как оно может быть сделано
devi@14 98
devi@14 99
devi@14 100
devi@14 101
devi@14 102
devi@14 103 --------------------------------------------------------------------------------------
devi@14 104
devi@14 105
devi@0 106 DONE
devi@0 107
devi@0 108 xml: поддержка формата xml
devi@0 109 html: заполлзающие блоки (ИСКЛЮЧЕНО)
devi@0 110 general: Конфигурация через файл и командную строку