zc.monitor

Software screenshot:
zc.monitor
Podrobnosti Software:
Verze: 0.3.1
Datum uploadu: 14 Apr 15
Vývojka: Jim Fulton
Licence: Volný
Popularita: 1

Rating: nan/5 (Total Votes: 0)

zc.monitor je server, který poskytuje rozhraní příkazového řádku požadovat různé kousky informací. & Nbsp; server je zc.ngi založený, takže můžeme použít testovací zc.ngi infrastrukturu ji prokázat.
& Nbsp; >>> import zc.ngi.testing
& Nbsp; >>> import zc.monitor
& Nbsp; >>> connection = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (připojení)
Server podporuje rozšiřitelnou sadu příkazů. Vypadá to na příkazy, jako pojmenované zc.monitor.interfaces.IMonitorPlugin "nástroje", jak je definován v balíčku zope.component.
Chcete-li vidět, budeme vytvářet ahoj plugin:
& Nbsp; >>> def ahoj (připojení, name = "svět"):
& Nbsp; ... "" "Pozdravuj
& Nbsp; ...
& Nbsp; ... Zadejte název, pokud nejste na světě.
& Nbsp; ... "" "
& Nbsp; ... connection.write ("Ahoj,% s, nice to meet ya n" name%)
a zaregistrujte se:
& Nbsp; >>> zc.monitor.register (ahoj)
Když jsme se zaregistrovat příkaz, můžeme zadat název. Chcete-li vidět, budeme registrovat ahoj znovu:
& Nbsp; >>> zc.monitor.register (ahoj, "hi")
Nyní můžeme dát příkaz Ahoj serveru:
& Nbsp; >>> connection.test_input ("hi n")
& Nbsp; Hi svět, nice to meet ya!
& Nbsp; -> CLOSE
Můžeme projít jméno:
& Nbsp; >>> connection = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (připojení)
& Nbsp; >>> connection.test_input ("ahoj Jim n")
& Nbsp; Hi Jim, nice to meet ya!
& Nbsp; -> CLOSE
Server je dodáván s několika základních příkazů. Pojďme si je zaregistrovat, takže můžeme vidět, co dělají. Použijeme ZJEDNODUŠENÝM registrační rozhraní:
& Nbsp; >>> zc.monitor.register_basics ()
Prvním z nich je příkaz help. Poskytování pomoci bez vstupu, dává seznam dostupných příkazů:
& Nbsp; >>> connection = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (připojení)
& Nbsp; >>> connection.test_input ("help n")
& nbsp; Podporované příkazy:
& Nbsp; ahoj - Say ahoj
& Nbsp; pomoc - Získejte nápovědu k příkazům serveru
& Nbsp; hi - Say Hello
& Nbsp; interactive - Zapněte interaktivním režimu monitoru
& Nbsp; quit - Quit monitor
& Nbsp; -> CLOSE
Můžeme získat podrobné pomoc zadáním názvu příkazu:
& Nbsp; >>> connection = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (připojení)
& Nbsp; >>> connection.test_input ("help help n")
& Nbsp; Pomoc o pomoc:
& Nbsp;
& Nbsp; Poradit o příkazech serveru
& Nbsp;
& Nbsp; Ve výchozím nastavení je seznam příkazů a shrnutí je vytištěn. Poskytnout
& Nbsp; název příkazu, aby si podrobnou dokumentaci pro příkaz.
& Nbsp;
& Nbsp; -> CLOSE
& Nbsp; >>> connection = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (připojení)
& Nbsp; >>> connection.test_input ("help ahoj n")
& Nbsp; Pomoc pro ahoj:
& Nbsp;
& Nbsp; Pozdravte
& Nbsp;
& Nbsp; Zadejte název, pokud nejste na světě.
& Nbsp;
& Nbsp; -> CLOSE
Interaktivní příkaz přepne monitor do interaktivním režimu. Jak je vidět z výše uvedeného, ​​monitor obvykle reaguje na jediný povel a pak zavře připojení. V "interaktivním režimu", připojení není uzavřen, dokud se používá ukončit příkaz. To může být užitečné při přístupu k monitoru přes telnet pro diagnostiku.
& Nbsp; >>> connection = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (připojení)
& Nbsp; >>> connection.test_input ("interactive n")
& Nbsp; režimu Interactive dál. Použijte "quit" Pro opuštění.
& Nbsp; >>> connection.test_input ("pomoci interaktivní n")
& Nbsp; Pomoc pro interaktivní:
& Nbsp;
& Nbsp; Zapněte interaktivním režimu monitoru
& Nbsp;
& Nbsp; Za normálních okolností, monitor uvolní spojení po jednom příkazu.
& Nbsp; Vstupem interaktivní režimu, monitor neskončí spojení
& Nbsp; dokud nezadáte příkaz "quit".
& Nbsp;
& Nbsp; v interaktivním režimu, prázdný řádek zopakuje poslední příkaz.
& Nbsp;
& Nbsp; >>> connection.test_input ("pomoci přestat n")
& Nbsp; Pomoc pro přestat:
& Nbsp;
& Nbsp; Ukončit monitor
& Nbsp;
& Nbsp; Toto je jen velmi užitečná v interaktivním režimu (viz "interaktivní"
& Nbsp; příkaz).
& Nbsp;
Všimněte si, že výsledek příkazů nekončí "-> Zavřít", které by uvedly uzavřený připojení.
Také si všimněte, že interaktivní režim umožňuje opakovat příkazy.
& Nbsp; >>> connection.test_input ("ahoj n")
& Nbsp; Hi svět, nice to meet ya!
& Nbsp; >>> connection.test_input (" n")
& Nbsp; Hi svět, nice to meet ya!
& Nbsp; >>> connection.test_input ("ahoj Jim n")
& Nbsp; Hi Jim, nice to meet ya!
& Nbsp; >>> connection.test_input (" n")
& Nbsp; Hi Jim, nice to meet ya!
Nyní budeme používat ukončit ukončit připojení.
& Nbsp; >>> connection.test_input ("quit n")
& Nbsp; Goodbye.
& Nbsp; -> CLOSE
A konečně, je třeba poznamenat, že výjimky bude generovat TraceBack na připojení.
& Nbsp; >>> connection = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (připojení)
& Nbsp; >>> connection.test_input ("ahoj Jim 42 n") # doctest: + elipsa
& Nbsp; TraceBack (poslední hovor poslední):
& Nbsp; ...
& Nbsp; TypeError: ahoj () trvá maximálně 2 argumenty (3 uveden)
& Nbsp;
& Nbsp; -> CLOSE
Příkaz smyčky
Použití režimu "Další", můžete příkazy signalizovat, že chtějí tvrdit všechny budoucí vstup uživatele. Budeme provádět hloupý příklad ukazují, jak to funguje.
Tady je příkaz, který implementuje kalkulačku.
& Nbsp; '.' >>> PROMPT =
& Nbsp; >>> def vypočteno (připojení, * args):
& Nbsp; ... pokud args a args [0] == "quit":
& Nbsp; ... vrátí zc.monitor.QUIT_MARKER
& Nbsp; ...
& Nbsp; ... pokud args:
& Nbsp; ... connection.write (str. (Eval ('' join (args))))
& Nbsp; ... connection.write (" n")
& Nbsp; ...
& Nbsp; ... connection.write (PROMPT)
& Nbsp; ... vrátí zc.monitor.MORE_MARKER
Pokud registrujete tento příkaz ...
& Nbsp; >>> zc.monitor.register (vypočteno)
... Můžeme ji vyvolat, a dostaneme pokyn.
& Nbsp; >>> connection = zc.ngi.testing.TextConnection ()
& Nbsp; >>> server = zc.monitor.Server (připojení)
& Nbsp; >>> connection.test_input ("vyp n")
& Nbsp ;.
Budeme-li pak jí dát větší vstupy dostaneme výsledek plus další výzvu.
& Nbsp; >>> connection.test_input ("2 + 2 n")
& Nbsp; 4
& Nbsp ;.
& Nbsp; >>> connection.test_input ("4 * 2 n")
& Nbsp; 8
& Nbsp ;.
Poté, co jsme udělali, můžeme říci, kalkulačku, aby nás pustili.
& Nbsp; >>> connection.test_input ("quit n")
& Nbsp; -> CLOSE
Spuštění serveru
& Nbsp; >>> čas import
& Nbsp; >>> import zope.testing.loggingsupport, protokolování
& Nbsp; >>> loghandler = zope.testing.loggingsupport.InstalledHandler (
& Nbsp; ... Nic, level = logging.INFO)
& Nbsp; >>> zc.monitor.start (9644)
& Nbsp; ('', 9644)
& Nbsp; >>> print loghandler
& Nbsp; zc.ngi.async.server INFO
& Nbsp; poslech na ('', 9644)
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = None
& Nbsp; >>> time.sleep (0.1)
& Nbsp; >>> loghandler.clear ()
& Nbsp; >>> zc.monitor.start (("127.0.0.1", 9644))
& Nbsp; ("127.0.0.1", 9644)
& Nbsp; >>> print loghandler
& Nbsp; zc.ngi.async.server INFO
& Nbsp; poslech na ("127.0.0.1", 9644)
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = None
& Nbsp; >>> time.sleep (0.1)
Vazbu k portu 0:
& Nbsp; >>> addr = zc.monitor.start (0)
& Nbsp; >>> addr == zc.monitor.last_listener.address
& Nbsp; pravda
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = None
& Nbsp; >>> time.sleep (0.1)
Snažím se znovu svázat do přístavu na použití:
& 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; False
& Nbsp; >>> print loghandler
& Nbsp; zc.ngi.async.server INFO
& Nbsp; poslech na ("127.0.0.1", 9644)
& Nbsp; zc.ngi.async.server WARNING
& Nbsp; schopen naslouchat ("127.0.0.1", 9644)
& Nbsp; kořen WARNING
& Nbsp; nelze spustit zc.monitor server, protože adresa ("127.0.0.1", 9644), je v provozu.
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = None
& Nbsp; >>> time.sleep (0.1)
& Nbsp; >>> loghandler.uninstall ()

Co je nového v této verzi:

  • Při vázání na monitor socket Unix-domain, odstranit stávající zásuvku ve stejnou cestou, takže vazba je úspěšný. To může mít vliv na stávající využití s ​​ohledem na zopectl ladění chování, ale bude více předvídatelné.

Co je nového ve verzi 0.3.0:

  • Přidána zjednodušenou registrační rozhraní
  • .

Požadavky na :

  • Python

Podobný software

Klaxon
Klaxon

3 Jun 15

FTimes
FTimes

20 Feb 15

Perfmon4j
Perfmon4j

11 May 15

NxFilter
NxFilter

7 Mar 16

Ostatní software developer Jim Fulton

zc.zope3recipes
zc.zope3recipes

14 Apr 15

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

zc.resumelb
zc.resumelb

20 Feb 15

Komentáře k zc.monitor

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!