zc.monitor

소프트웨어 스크린 샷:
zc.monitor
소프트웨어 정보:
버전: 0.3.1
업로드 날짜: 14 Apr 15
개발자: Jim Fulton
라이센스: 무료
인기: 59

Rating: nan/5 (Total Votes: 0)

. 서버가 zc.ngi 기반이기 때문에, 우리는 그것을 보여주기 위해 zc.ngi 테스트 인프라를 사용할 수 있습니다

zc.monitor은 정보 & NBSP 다양한 비트를 요청하기 위해 명령 줄 인터페이스를 제공하는 서버입니다.
& NBSP; >>> 수입 zc.ngi.testing
& NBSP; >>> 수입 zc.monitor
& NBSP; >>> 연결 = zc.ngi.testing.TextConnection ()
& NBSP; >>> 서버 = zc.monitor.Server (연결)
서버는 명령의 확장 세트를 지원합니다. zope.component 패키지에 정의 된대로 그것은, 이름 zc.monitor.interfaces.IMonitorPlugin "유틸리티"로 명령을 찾습니다.
이를 확인하기 위해, 우리는 헬로 플러그인을 만들 것이다 :
& NBSP; >>> 데프 안녕하세요 (연결, 이름 = '세계') :
& NBSP; ... "" "인사
& NBSP; ...
& NBSP; ... 당신이 세상하지 않으면 이름을 제공합니다.
& NBSP; ... "" "
& NBSP; ... connection.write ( "! 안녕 %의, 나중에 만나서 반갑습니다 n"% 이름)
하고 등록 :
& NBSP; >>> zc.monitor.register (안녕하세요)
우리는 명령을 등록 할 때, 우리는 이름을 제공 할 수 있습니다. 이를 확인하기 위해, 우리는 다시 인사 등록합니다 :
& NBSP; >>> zc.monitor.register (안녕하세요 '안녕하세요')
이제 우리는 서버에 인사 명령을 제공 할 수 있습니다 :
& NBSP; >>> connection.test_input ( ' 안녕 N')
& NBSP; 안녕하세요 세계, 나중에 만나서 반갑습니다!
& NBSP; -> CLOSE
우리는 이름을 전달할 수 있습니다 :
& NBSP; >>> 연결 = zc.ngi.testing.TextConnection ()
& NBSP; >>> 서버 = zc.monitor.Server (연결)
& NBSP; >>> connection.test_input ( '안녕하세요 짐 n')
& NBSP; 안녕 짐, 나중에 만나서 반갑습니다!
& NBSP; -> CLOSE
서버는 몇 가지 기본 명령어와 함께 제공됩니다. 우리는 그들이 무엇을 볼 수 있도록의이이를 ​​등록 할 수 있습니다. 우리는 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; -> CLOSE
우리는 명령 이름을 지정하여 자세한 도움을받을 수 있습니다 :
& NBSP; >>> 연결 = zc.ngi.testing.TextConnection ()
& NBSP; >>> 서버 = zc.monitor.Server (연결)
& NBSP; >>> connection.test_input ( '도움말 도움말 없음')
& NBSP; 도움을 도움말 :
& NBSP;
& NBSP; 서버 명령에 대한 지원을받을 수
& NBSP;
& NBSP; 기본적으로 명령과 요약의 목록이 출력됩니다. 제공
& NBSP; 명령 이름은 명령에 대한 자세한 설명서를 얻을 수 있습니다.
& NBSP;
& NBSP; -> CLOSE
& NBSP; >>> 연결 = zc.ngi.testing.TextConnection ()
& NBSP; >>> 서버 = zc.monitor.Server (연결)
& NBSP; >>> connection.test_input ( '도움말 안녕하세요 없음')
& NBSP; 안녕하세요 도움말 :
& NBSP;
& NBSP; 인사
& NBSP;
& NBSP; 당신이 세상하지 않으면 이름을 제공합니다.
& NBSP;
& NBSP; -> CLOSE
대화 형 명령은 대화 형 모드로 모니터를 전환합니다. 전술 한 바와 같이, 모니터는 일반적으로 하나의 명령에 응답하고 연결을 닫는다. 종료 명령이 사용될 때까지 "대화 형 모드"에서 연결이 닫혀 있지 않습니다. 진단 텔넷을 통한 모니터 접근 할 때 유용 할 수있다.
& NBSP; >>> 연결 = zc.ngi.testing.TextConnection ()
& NBSP; >>> 서버 = zc.monitor.Server (연결)
& NBSP; >>> connection.test_input ( '대화 형 없음')
& NBSP;에 대화 형 모드. 종료하려면 "종료"를 사용합니다.
& NBSP; >>> connection.test_input ( '대화 형 n을 도와')
& NBSP; 상호 작용에 대한 도움말 :
& NBSP;
& NBSP; 모니터의 대화 형 모드 켜기
& NBSP;
& NBSP는, 일반적으로, 모니터는 단일 명령 후 연결을 해제합니다.
& NBSP, 대화 형 모드를 입력함으로써, 모니터는 연결을 종료하지 않을
& NBSP, 당신은 "종료"명령을 입력 할 때까지.
& NBSP;
& NBSP는, 대화 형 모드에서 빈 줄은 마지막 명령을 반복합니다.
& NBSP;
& NBSP; >>> connection.test_input ( ' n을 종료 도움')
& NBSP; 종료에 대한 도움말 :
& NBSP;
& NBSP; 모니터를 종료
& NBSP;
& NBSP는;이 ( "상호 작용"을 참조 대화 형 모드에서만 정말 유용
& NBSP; 명령).
& NBSP;
닫힌 연결을 나타낼 것 - "> CLOSE"명령의 결과로 끝나지 않았 음을 알 수 있습니다.
또한 대화 형 모드를 사용하면이 명령을 반복 할 수 있음을 알 수 있습니다.
& NBSP; >>> connection.test_input ( '안녕하세요 없음')
& NBSP; 안녕하세요 세계, 나중에 만나서 반갑습니다!
& NBSP; >>> connection.test_input ( ' n')이다
& NBSP; 안녕하세요 세계, 나중에 만나서 반갑습니다!
& NBSP; >>> connection.test_input ( '안녕하세요 짐 n')
& NBSP; 안녕 짐, 나중에 만나서 반갑습니다!
& NBSP; >>> connection.test_input ( ' n')이다
& NBSP; 안녕 짐, 나중에 만나서 반갑습니다!
이제 우리는 연결을 종료 종료 사용합니다.
& NBSP; >>> connection.test_input ( ' n 종료')
& NBSP; 안녕.
& NBSP; -> CLOSE
마지막으로, 예외가 연결에 대한 역 추적을 생성 할 것을 주목할 가치가있다.
& NBSP; >>> 연결 = zc.ngi.testing.TextConnection ()
& NBSP; >>> 서버 = zc.monitor.Server (연결)
& NBSP; >>> connection.test_input ( '안녕하세요 짐 (42) n') # 1 doctest가 : + 줄임표
& NBSP; 역 추적 (가장 최근 통화 마지막) :
& NBSP; ...
& NBSP; 형식 오류 :) (안녕하세요 걸리는 대부분의 2 인자 (3 주어진)에서
& NBSP;
& NBSP; -> CLOSE
명령 루프
"추가"모드를 사용하여 명령은 앞으로 모든 사용자 입력을 주장 할 것을 통지 할 수 있습니다. 우리는 그것이 작동하는 방법을 설명하는 바보 같은 예를 구현합니다.
다음은 계산기를 구현하는 명령입니다.
& NBSP; '.'>>> PROMPT =
& NBSP; >>> 데프 CALC (연결, * 인수)
& NBSP; ... 인수 및 인수 [0] == '종료'경우 :
& NBSP; ... zc.monitor.QUIT_MARKER를 반환
& NBSP; ...
& NBSP; ... 인수하는 경우 :
& NBSP; ... connection.write (. STR (평가 ( ''참여 (인수))))
& NBSP; ... connection.write ( ' n')이다
& NBSP; ...
& NBSP; ... connection.write (PROMPT)
& NBSP; ... zc.monitor.MORE_MARKER를 반환
우리는이 명령을 등록하면 ...
& NBSP; >>> zc.monitor.register (CALC)
... 우리는 그것을 호출 할 수 있습니다 그리고 우리는 프롬프트를 얻을.
& NBSP; >>> 연결 = zc.ngi.testing.TextConnection ()
& NBSP; >>> 서버 = zc.monitor.Server (연결)
& NBSP; >>> connection.test_input ( 'CALC 없음')
& NBSP ;.
우리는 다음 더 많은 입력을주는 경우에 우리는 결과를 더한 또 다른 프롬프트를 얻을.
& NBSP; >>> connection.test_input ( '2 + 2 n ')
& NBSP 4
& NBSP ;.
& NBSP; >>> connection.test_input ( '4 * 2 n')
& NBSP; (8)
& NBSP ;.
우리가 완료되면 우리는 우리가 갈 수 있도록 계산기를 알 수 있습니다.
& NBSP; >>> connection.test_input ( ' n 종료')
& NBSP; -> CLOSE
서버를 시작합니다
& 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 트루 (True)
& 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; 주소 ( '127.0.0.1', 9644)이 사용하기 때문에 없습니다 zc.monitor 서버를 시작합니다.
& NBSP; >>> zc.monitor.last_listener.close ()
& NBSP; >>> zc.monitor.last_listener = 없음
& NBSP; >>> time.sleep (0.1)
& NBSP; >>> loghandler.uninstall ()

이 릴리스의 새로운 기능입니다 : 유닉스 도메인 소켓에 모니터를 결합 할 때

이 같은 경로에 기존의 소켓을 제거 그래서 바인드 성공합니다. 이 zopectl 디버그 행동에 대한 기존의 사용에 영향을 미칠 수 있지만, 예측됩니다.

이 버전 0.3.0의 새로운 기능 :

이 단순화 된 등록 인터페이스를 추가했습니다.

이 요구 사항 :

이 파이썬

유사한 소프트웨어

FTimes
FTimes

20 Feb 15

WMtemp
WMtemp

3 Jun 15

nfsstats.pl
nfsstats.pl

3 Jun 15

Surveilr
Surveilr

15 Apr 15

개발자의 기타 소프트웨어 Jim Fulton

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

zc.zope3recipes
zc.zope3recipes

14 Apr 15

zc.resumelb
zc.resumelb

20 Feb 15

코멘트 zc.monitor

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!