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

qtmib
qtmib

17 Feb 15

W3Perl
W3Perl

17 Feb 15

Products.ZNagios
Products.ZNagios

11 May 15

Ostatní software developer Jim Fulton

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

zc.zope3recipes
zc.zope3recipes

14 Apr 15

zc.resumelb
zc.resumelb

20 Feb 15

Komentáře k zc.monitor

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