zc.monitor

Скриншот программы:
zc.monitor
Детали программы:
Версия: 0.3.1
Дата загрузки: 14 Apr 15
Разработчик: Jim Fulton
Тип распространения: Бесплатная
Популярность: 1

Rating: nan/5 (Total Votes: 0)

zc.monitor это сервер, который предоставляет интерфейс командной строки, чтобы запросить различные биты NBSP информация и;. Сервер zc.ngi основе, так что мы можем использовать zc.ngi тестирования инфраструктуры, чтобы продемонстрировать это.
& NBSP; >>> импорта zc.ngi.testing
& NBSP; >>> импорта zc.monitor
& NBSP; >>> подключение = zc.ngi.testing.TextConnection ()
& NBSP; >>> сервер = zc.monitor.Server (соединение)
Сервер поддерживает обширный набор команд. Похоже на команды, как называли zc.monitor.interfaces.IMonitorPlugin "коммунальные услуги", как определено в пакете zope.component.
Чтобы убедиться в этом, мы создадим плагин привет:
& NBSP; >>> Def привет (подключение, имя = 'мир'):
& NBSP; ... "" "привет
& NBSP; ...
& NBSP; ... Введите имя, если вы не в мире.
& NBSP; ... "" "
& NBSP; ... connection.write ("Привет!% s, приятно познакомиться Я. \ п"% название)
и зарегистрировать его:
& NBSP; >>> zc.monitor.register (привет)
Когда мы регистрируем команду, мы можем предоставить имя. Чтобы убедиться в этом, мы будем зарегистрируйтесь привет снова:
& NBSP; >>> zc.monitor.register (привет, "привет")
Теперь мы можем дать команду привет к серверу:
& NBSP; >>> connection.test_input ("привет \ п ')
& NBSP; Привет мир, приятно познакомиться я!
& NBSP; -> ЗАКРЫТЬ
Мы можем передать имя:
& NBSP; >>> подключение = zc.ngi.testing.TextConnection ()
& NBSP; >>> сервер = zc.monitor.Server (соединение)
& NBSP; >>> connection.test_input ("привет Джим \ п ')
& NBSP; Привет Джим, приятно познакомиться я!
& NBSP; -> ЗАКРЫТЬ
Сервер поставляется с несколькими основными командами. Давайте зарегистрировать их, чтобы мы могли увидеть, что они делают. Мы будем использовать simplfied интерфейс регистрации:
& NBSP; >>> zc.monitor.register_basics ()
Во-первых, команда помощь. Оказание помощи без ввода, дает список доступных команд:
& NBSP; >>> подключение = zc.ngi.testing.TextConnection ()
& NBSP; >>> сервер = zc.monitor.Server (соединение)
& NBSP; >>> connection.test_input ("помощь \ п ')
и NBSP; Поддерживаемые команды:
& NBSP; привет - привет Скажите
& NBSP; помощь - Получить помощь о командах сервера
& NBSP; привет - привет Скажите
& NBSP; интерактивный - Включите интерактивном режиме монитора
& NBSP; бросить - Выйти из монитора
& NBSP; -> ЗАКРЫТЬ
Мы можем получить подробную справку, указав имя команды:
& NBSP; >>> подключение = zc.ngi.testing.TextConnection ()
& NBSP; >>> сервер = zc.monitor.Server (соединение)
& NBSP; >>> connection.test_input ("помощь помощь \ п ')
& NBSP; Помощь за помощью:
& NBSP;
& NBSP; Получить справки о командах сервера
& NBSP;
& NBSP; По умолчанию, список команд и резюме печатается. Предоставлять
& NBSP; имя команды, чтобы получить подробную документацию для команды.
& NBSP;
& NBSP; -> ЗАКРЫТЬ
& NBSP; >>> подключение = zc.ngi.testing.TextConnection ()
& NBSP; >>> сервер = zc.monitor.Server (соединение)
& NBSP; >>> connection.test_input ("помощь привет \ п ')
& NBSP; Помощь для привет:
& NBSP;
& NBSP; привет
& NBSP;
& NBSP; Укажите имя, если вы не в мире.
& NBSP;
& NBSP; -> ЗАКРЫТЬ
Интерактивная команда переключает монитор в интерактивном режиме. Как видно выше, монитор обычно отвечает на одной команды, а затем закрывает соединение. В «интерактивном режиме», то соединение не будет закрыто, пока не используется бросить команду. Это может быть полезно при доступе монитор с помощью Telnet для диагностики.
& NBSP; >>> подключение = zc.ngi.testing.TextConnection ()
& NBSP; >>> сервер = zc.monitor.Server (соединение)
& NBSP; >>> connection.test_input ("интерактивная \ п ')
& NBSP; Интерактивный режим на. Используйте "бросить", чтобы выйти.
& NBSP; >>> connection.test_input ('поможет интерактивный \ п ")
& NBSP; Помощь для интерактивного:
& NBSP;
& NBSP; Включите интерактивном режиме монитора
& NBSP;
& NBSP; Обычно, монитор освобождает соединение после одной командой.
& NBSP; Введя в интерактивный режим, монитор не будет завершить соединение
& NBSP; пока вы не введете команду "Выход".
& NBSP;
& NBSP; В интерактивном режиме, пустая строка повторяет последнюю команду.
& NBSP;
& NBSP; >>> connection.test_input ('поможет бросить \ п ")
& NBSP; Помощь для выхода:
& NBSP;
& NBSP; Выход монитора
& NBSP;
& NBSP; Это действительно полезно только в интерактивном режиме (см "интерактивная"
& NBSP; команда).
& NBSP;
Обратите внимание, что результат команды не заканчиваются "-> Закрыть", что могло бы указать закрытую связь.
Также обратите внимание, что интерактивный режим позволяет повторить команды.
& NBSP; >>> connection.test_input ("привет \ п ')
& NBSP; Привет мир, приятно познакомиться я!
& NBSP; >>> connection.test_input ('\ п')
& NBSP; Привет мир, приятно познакомиться я!
& NBSP; >>> connection.test_input ("привет Джим \ п ')
& NBSP; Привет Джим, приятно познакомиться я!
& NBSP; >>> connection.test_input ('\ п')
& NBSP; Привет Джим, приятно познакомиться я!
Теперь мы будем использовать бросить, чтобы закрыть соединение.
& NBSP; >>> connection.test_input ('бросить \ N')
& NBSP; До свидания.
& NBSP; -> ЗАКРЫТЬ
Наконец, стоит отметить, что исключения будут генерировать отслеживающий на связи.
& NBSP; >>> подключение = zc.ngi.testing.TextConnection ()
& NBSP; >>> сервер = zc.monitor.Server (соединение)
& NBSP; >>> connection.test_input ("привет Джим 42 \ п ') # doctest + Многоточие
& NBSP; Traceback (самый последний вызов последнего):
& NBSP; ...
& NBSP; Ошибка типа: привет () принимает более 2 аргументов (3 приведены)
& NBSP;
& NBSP; -> ЗАКРЫТЬ
Командные циклы
Использование режима "MORE", команды могут сигнализировать, что они хотят, чтобы утверждать, все будущие введенные пользователем. Мы реализуем глупый пример, чтобы продемонстрировать, как это работает.
Вот команда, которая реализует калькулятор.
& NBSP; >>> ПОДСКАЖИТЕ = '.'
& NBSP; >>> Def известково (соединительные, * аргументы):
& NBSP; ... если аргументы и аргументы [0] == 'бросить':
& NBSP; ... вернуться zc.monitor.QUIT_MARKER
& NBSP; ...
& NBSP; ... если аргументов:
& NBSP; ... connection.write (ул. (Eval ('' присоединиться (аргументы))))
& NBSP; ... connection.write ('\ п')
& NBSP; ...
& NBSP; ... connection.write (приглашении)
& NBSP; ... вернуться zc.monitor.MORE_MARKER
Если мы регистрируем эту команду ...
& NBSP; >>> zc.monitor.register (Calc)
... мы можем вызвать его, и мы получаем приглашение.
& NBSP; >>> подключение = zc.ngi.testing.TextConnection ()
& NBSP; >>> сервер = zc.monitor.Server (соединение)
& NBSP; >>> connection.test_input ('известково \ п')
& NBSP ;.
Если мы затем дать ему больший вклад мы получаем результат плюс еще подсказку.
& NBSP; >>> connection.test_input ("2 + 2 \ п ')
& NBSP; 4
& NBSP ;.
& NBSP; >>> connection.test_input ('4 * 2 \ п')
& NBSP; 8
& NBSP ;.
После того, как мы сделали, мы можем сказать, калькулятор пойдем.
& NBSP; >>> connection.test_input ('бросить \ N')
& NBSP; -> ЗАКРЫТЬ
Запустить сервер
& NBSP; >>> время импорта
& NBSP; >>> импорта zope.testing.loggingsupport, лесозаготовки
& NBSP; >>> LogHandler = zope.testing.loggingsupport.InstalledHandler (
& NBSP; ... Ничего, уровень = logging.INFO)
& NBSP; >>> zc.monitor.start (9644)
& NBSP; ('', 9644)
& NBSP; >>> печати LogHandler
& NBSP; zc.ngi.async.server ИНФОРМАЦИЯ
& NBSP; прослушивание ('', 9644)
& NBSP; >>> zc.monitor.last_listener.close ()
не & NBSP; >>> zc.monitor.last_listener = Нет
& NBSP; >>> time.sleep (0.1)
& NBSP; >>> loghandler.clear ()
& NBSP; >>> zc.monitor.start (('127.0.0.1', 9644))
& NBSP; ('127.0.0.1', 9644)
& NBSP; >>> печати LogHandler
& NBSP; zc.ngi.async.server ИНФОРМАЦИЯ
& NBSP; прослушивание ('127.0.0.1', 9644)
& NBSP; >>> zc.monitor.last_listener.close ()
не & NBSP; >>> zc.monitor.last_listener = Нет
& NBSP; >>> time.sleep (0.1)
Привязать к порту 0:
& NBSP; >>> АДРЕС = zc.monitor.start (0)
& NBSP; >>> АДРЕС == zc.monitor.last_listener.address
& NBSP; Правда
& NBSP; >>> zc.monitor.last_listener.close ()
не & NBSP; >>> zc.monitor.last_listener = Нет
& NBSP; >>> time.sleep (0.1)
Попытка повторно связать в порт использования:
& NBSP; >>> loghandler.clear ()
& NBSP; >>> zc.monitor.start (('127.0.0.1', 9644))
& NBSP; ('127.0.0.1', 9644)
& NBSP; >>> zc.monitor.start (('127.0.0.1', 9644))
& NBSP; Ложные
& NBSP; >>> печати LogHandler
& NBSP; zc.ngi.async.server ИНФОРМАЦИЯ
& NBSP; прослушивание ('127.0.0.1', 9644)
& NBSP; zc.ngi.async.server ПРЕДУПРЕЖДЕНИЕ
& NBSP; не в состоянии слушать ('127.0.0.1 ", 9644)
& NBSP; корень ПРЕДУПРЕЖДЕНИЕ
& NBSP; не удалось запустить сервер zc.monitor, так как адрес ("127.0.0.1", 9644) находится в использовании.
& NBSP; >>> zc.monitor.last_listener.close ()
не & NBSP; >>> zc.monitor.last_listener = Нет
& NBSP; >>> time.sleep (0.1)
& NBSP; >>> loghandler.uninstall ()

Что нового В этом выпуске:

  • При связывании монитор к Сокет домена, удалить существующий разъем на тот же путь, так что связывать успешно. Это может повлиять на текущее использование по отношению к zopectl отладки поведение, но будет более предсказуемым.

Что нового в версии 0.3.0:

  • Добавлена ​​упрощенный интерфейс регистрация
  • .

Требования

  • Python

Похожие программы

logchart
logchart

11 May 15

jVMonitor
jVMonitor

20 Feb 15

OpenSMART
OpenSMART

11 May 15

Zorka
Zorka

17 Feb 15

Другие программы разработчика Jim Fulton

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

zc.resumelb
zc.resumelb

20 Feb 15

zc.zope3recipes
zc.zope3recipes

14 Apr 15

Комментарии к zc.monitor

Комментарии не найдены
добавить комментарий
Включите картинки!