Skip to content

mihloruj/agent_dc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Мой агент состоит из 3 модулей:

  1. AGENT - основной скрипт с логикой
  2. CAS (message sending module) - модуль ответственный за прием и отправку сообщений
  3. MRM (message receiving module) - модуль-парсер, его нужно изменять под своего агента
  4. UTS (unit testing system) - модуль ответственный за юнит-тестирование (отключен)

Коды агентов в системе:

  • IACM - коммуникатор
  • IACN - контролер
  • IAPL - планировщик
  • IADC - диспетчер
  • IAWC - рабочий центр

Так же есть директории для сообщений:

  • in - входящие в агента сообщения
  • out - генерируемые сообщения агентом
  • test - сравнительные сообщения для тестирования

Текущие возможности агента:

  1. Получать команду на изменение статуса, отображение своего статуса
  2. Запрашивать и получать список обслуживаемых РЦ
  3. Запрашивать и получать раписание для РЦ
  4. Запускать поцессы на РЦ
  5. Принимать завершение процесса от РЦ
  6. Получать и реагировать на внештатные ситуации процессов РЦ
  7. Умеет обрабатывать неизвестные типы сообщений

Отказоустойчивость и детальная проработка некоторых функий пока на среднем уровне. Связь с внешними системами (EAM) не проработана.

Перечень настроек agent.py:

  • UNITTEST включает или выключает юнит-тестирование
  • SELFID название своего агента исходя из договоренности
  • STATUS статус нужен для агента-коммуникатора, чтобы он понимал что агент готов работать
  • TIMING_STATUS тайминг отправки статуса для агента-коммуникатора
  • TIMING_CHECK_WC тайминг для проверки новых возможных запусков процесса
  • TRUST_LEVEL некоторый "уровень доверия" агента, от него зависит какие решения может принимать агент

Перечень настроек cas.py:

  • HOST тут указывается хост, где будет запущен агент
  • PORT порт, на котором будет запущен агент
  • CMHOST тут указывается хост агента-коммуникатора
  • CMPORT тут указывается порт на котором будет принимать сообщения агент-коммуникатор

Примеры нужных для работы агента сообщений:

  • msg_list_wc - список обслуживаемых РЦ от коммуникатора
  • msg_schedule - список задач от планировщика
  • msg_*_work - изменения статуса от коммуникатора
  • msg_wc_command_* - разные команды от контролера

Работа с агентом

  1. Для начала требуется запустить bot.py, он будет показывать какие сообщения отправляет агент
  2. Далее запускается cas.py
  3. Далее отправляются команды в формате json по адресу (HOST, PORT) LINUX: nc localhost 8889, WINDOWS: через PUTTY, raw 127.0.0.1 8889

About

Агент-диспетчер

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages