zc.monitor

Software kuvakaappaus:
zc.monitor
Ohjelmiston tiedot:
Versio: 0.3.1
Lähetyksen päivämäärä: 14 Apr 15
Kehittäjä: Jim Fulton
Lupa: Vapaa
Suosio: 1

Rating: nan/5 (Total Votes: 0)

zc.monitor on palvelin, joka tarjoaa komentorivikäyttöliittymässä pyytää eri bittiä tietoa. & Nbsp; palvelin on zc.ngi pohjainen, joten voimme käyttää zc.ngi testaus infrastruktuurin osoittamaan se.
& Nbsp; >>> tuonti zc.ngi.testing
& Nbsp; >>> tuonti zc.monitor
& Nbsp; >>> yhteys = zc.ngi.testing.TextConnection ()
& Nbsp; >>> palvelin = zc.monitor.Server (liitäntä)
Palvelin tukee laajennettavissa sarja komentoja. Se näyttää jopa komentoja nimettyinä zc.monitor.interfaces.IMonitorPlugin "Utilities", jotka on määritelty zope.component paketti.
Voit nähdä tämän, luomme hei plugin:
& Nbsp; >>> def hei (liitäntä, nimi = 'maailma'):
& Nbsp; ... "" "Tervehdi
& Nbsp; ...
& Nbsp; ... Antakaa nimi, jos et ole maailman.
& Nbsp; ... "" "
& Nbsp; ... connection.write ("Hei% s, mukava tavata ya! N"% name)
ja rekisteröi se:
& Nbsp; >>> zc.monitor.register (hei)
Kun me rekisteröityä komennon, voimme tarjota nimi. Voit nähdä tämän, me rekisteröityä Hei taas:
& Nbsp; >>> zc.monitor.register (hei, 'hi')
Nyt voimme antaa hei komento palvelimelle:
& Nbsp; >>> connection.test_input ("hi n ')
& Nbsp; Hei maailma, mukava tavata ya!
& Nbsp; -> KIINNI
Voimme siirtää nimi:
& Nbsp; >>> yhteys = zc.ngi.testing.TextConnection ()
& Nbsp; >>> palvelin = zc.monitor.Server (liitäntä)
& Nbsp; >>> connection.test_input ("hei Jim n ')
& Nbsp; Hei Jim, mukava tavata ya!
& Nbsp; -> KIINNI
Palvelin tulee muutamia komentoja. Katsotaanpa rekisteröi ne, jotta voimme nähdä, mitä he tekevät. Käytämme YKSINKERTAISELLA rekisteröintiä käyttöliittymä:
& Nbsp; >>> zc.monitor.register_basics ()
Ensimmäinen on ohjekomento. Antaa apua ilman tulo antaa luettelon käytettävissä olevista komennoista:
& Nbsp; >>> yhteys = zc.ngi.testing.TextConnection ()
& Nbsp; >>> palvelin = zc.monitor.Server (liitäntä)
& Nbsp; >>> connection.test_input ("help n ')
& Nbsp; Tuetut komennot:
& Nbsp; hei - Tervehdi
& Nbsp; help - Saat apua noin palvelimen komentoja
& Nbsp; hi - Tervehdi
& Nbsp; interaktiivinen - Kytke näytön vuorovaikutteinen tila
& Nbsp; lopettaa - Lopeta näyttö
& Nbsp; -> KIINNI
Voimme saada yksityiskohtaista apua määrittämällä komennon nimi:
& Nbsp; >>> yhteys = zc.ngi.testing.TextConnection ()
& Nbsp; >>> palvelin = zc.monitor.Server (liitäntä)
& Nbsp; >>> connection.test_input ("Ohje n ')
& Nbsp; Apua apua:
& Nbsp;
& Nbsp; Saat apua noin palvelimen komentoja
& Nbsp;
& Nbsp; Oletusarvoisesti luettelo komennoista ja yhteenvetojen on painettu. Säätää
& Nbsp; komennon nimeä nähdäksesi yksityiskohtaiset asiakirjat komento.
& Nbsp;
& Nbsp; -> KIINNI
& Nbsp; >>> yhteys = zc.ngi.testing.TextConnection ()
& Nbsp; >>> palvelin = zc.monitor.Server (liitäntä)
& Nbsp; >>> connection.test_input ("help hei n ')
& Nbsp; Apua hei:
& Nbsp;
& Nbsp; Tervehdi
& Nbsp;
& Nbsp; Antakaa nimi, jos et ole maailman.
& Nbsp;
& Nbsp; -> KIINNI
Vuorovaikutteinen komento kytkee monitorin vuorovaikutteisessa tilassa. Kuten edellä todettiin, monitori yleensä vastaa yhden komennon ja sulkee sitten yhteyden. In "vuorovaikutteisessa tilassa", yhteyttä ei suljeta, ennen quit komennolla. Tämä voi olla hyödyllistä, kun päästä monitorin kautta telnet diagnostiikan.
& Nbsp; >>> yhteys = zc.ngi.testing.TextConnection ()
& Nbsp; >>> palvelin = zc.monitor.Server (liitäntä)
& Nbsp; >>> connection.test_input (vuorovaikutteisiin n ')
& Nbsp; Interactive päälle. Käytä "lopeta" Poistu.
& Nbsp; >>> connection.test_input ("auttaa vuorovaikutteinen n ')
& Nbsp; Apua interaktiivinen:
& Nbsp;
& Nbsp; Kytke näytön vuorovaikutteinen tila
& Nbsp;
& Nbsp; Normaalisti näyttö vapauttaa yhteys, kun yhdellä komennolla.
& Nbsp; Syöttämällä vuorovaikutteisessa tilassa, monitori ei katkaista yhteyden
& Nbsp; kunnes annat "lopeta" komennolla.
& Nbsp;
& Nbsp; vuorovaikutteisessa tilassa, tyhjä rivi toistaa viimeisen komennon.
& Nbsp;
& Nbsp; >>> connection.test_input ("auttaa lopettaa n ')
& Nbsp; Apua lopettaa:
& Nbsp;
& Nbsp; Lopeta näyttö
& Nbsp;
& Nbsp; Tämä on hyödyllistä vain interaktiivisessa tilassa (katso "interaktiivinen"
& Nbsp; komento).
& Nbsp;
Huomaa, että tulos komentoja ei päättynyt "-> KIINNI", joka olisi ilmoittanut suljettu yhteys.
Huomaa myös, että vuorovaikutteisessa tilassa voit toistaa komentoja.
& Nbsp; >>> connection.test_input ('hei n')
& Nbsp; Hei maailma, mukava tavata ya!
& Nbsp; >>> connection.test_input (' n')
& Nbsp; Hei maailma, mukava tavata ya!
& Nbsp; >>> connection.test_input ("hei Jim n ')
& Nbsp; Hei Jim, mukava tavata ya!
& Nbsp; >>> connection.test_input (' n')
& Nbsp; Hei Jim, mukava tavata ya!
Nyt käytämme lopettaa sulkea yhteyden.
& Nbsp; >>> connection.test_input (lopeta n ')
& Nbsp; Hyvästi.
& Nbsp; -> KIINNI
Lopuksi on syytä huomata, että poikkeuksia tuottaa paluuseurannan yhteydellä.
& Nbsp; >>> yhteys = zc.ngi.testing.TextConnection ()
& Nbsp; >>> palvelin = zc.monitor.Server (liitäntä)
& Nbsp; >>> connection.test_input ("hei Jim 42 n ') # doctest: + ELLIPSIS
& Nbsp; Jäljitys (viimeisin puhelu viimeinen):
& Nbsp; ...
& Nbsp; Tyyppivirhe: hei () kestää korkeintaan 2 argumentteja (3 annettu)
& Nbsp;
& Nbsp; -> KIINNI
Command silmukoita
Käyttämällä "MORE" -tilassa komennot voi viestiä, että he haluavat saada kaikki tulevat käyttäjä syöttää. Me toteuttaa typerä esimerkki osoittaa, miten se toimii.
Tässä komento, joka toteuttaa laskin.
& Nbsp; >>> KEHOTE = '.'
& Nbsp; >>> def lask (liitäntä, * args):
& Nbsp; ... jos args ja args [0] == 'quit':
& Nbsp; ... palata zc.monitor.QUIT_MARKER
& Nbsp; ...
& Nbsp; ... jos args:
& Nbsp; ... connection.write (str (eval (''. Liittyä (args))))
& Nbsp; ... connection.write (' n')
& Nbsp; ...
& Nbsp; ... connection.write (KEHOTE)
& Nbsp; ... palata zc.monitor.MORE_MARKER
Jos me rekisteröidä komento ...
& Nbsp; >>> zc.monitor.register (laskettu)
... Voimme vedota siihen ja saamme nopeasti.
& Nbsp; >>> yhteys = zc.ngi.testing.TextConnection ()
& Nbsp; >>> palvelin = zc.monitor.Server (liitäntä)
& Nbsp; >>> connection.test_input (lask n ')
& Nbsp ;.
Jos me sitten antaa sen enemmän tulo saamme tuloksen plus toinen ajallaan.
& Nbsp; >>> connection.test_input (2 + 2 n ')
& Nbsp; 4
& Nbsp ;.
& Nbsp; >>> connection.test_input (4 * 2 n ')
& Nbsp; 8
& Nbsp ;.
Kun olemme tehneet voimme kertoa laskimen menkäämme.
& Nbsp; >>> connection.test_input (lopeta n ')
& Nbsp; -> KIINNI
Aloita palvelin
& Nbsp; >>> tuonti aika
& Nbsp; >>> tuonti zope.testing.loggingsupport, puunkorjuu
& Nbsp; >>> loghandler = zope.testing.loggingsupport.InstalledHandler (
& Nbsp; ... Ei mitään, taso = logging.INFO)
& Nbsp; >>> zc.monitor.start (9644)
& Nbsp; ('', 9644)
& Nbsp; >>> print loghandler
& Nbsp; zc.ngi.async.server INFO
& Nbsp; kuuntelee ('', 9644)
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = Ei
& 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; kuuntelee ("127.0.0.1", 9644)
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = Ei
& Nbsp; >>> time.sleep (0,1)
Sido satamaan 0:
& Nbsp; >>> os = zc.monitor.start (0)
& Nbsp; >>> os == zc.monitor.last_listener.address
& Nbsp; True
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = Ei
& Nbsp; >>> time.sleep (0,1)
Yritetään rebind satamaan käytössä:
& 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; kuuntelee ("127.0.0.1", 9644)
& Nbsp; zc.ngi.async.server VAROITUS
& Nbsp; pysty kuuntelemaan ("127.0.0.1", 9644)
& Nbsp; root VAROITUS
& Nbsp; pysty aloittamaan zc.monitor palvelimelle, koska osoite ("127.0.0.1", 9644) on käytössä.
& Nbsp; >>> zc.monitor.last_listener.close ()
& Nbsp; >>> zc.monitor.last_listener = Ei
& Nbsp; >>> time.sleep (0,1)
& Nbsp; >>> loghandler.uninstall ()

Mitä uutta tässä julkaisussa:

  • Kun sitova näyttö Unix-domain socket, poista olemassa oleva liitäntään samaa polkua niin sitoa onnistuu. Tämä saattaa vaikuttaa nykyinen käyttö suhteessa zopectl debug käyttäytymistä, mutta on paremmin ennustettavissa.

Mitä uutta versiossa 0.3.0:

  • Lisätty yksinkertaistetun rekisteröinnin käyttöliittymä.

Vaatimukset :

  • Python

Vastaavia ohjelmistoja

Comedi
Comedi

2 Jun 15

Xplico
Xplico

17 Feb 15

PortSensor
PortSensor

3 Jun 15

Muu ohjelmistojen kehittäjä Jim Fulton

zc.zope3recipes
zc.zope3recipes

14 Apr 15

zc.resumelb
zc.resumelb

20 Feb 15

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

Kommentit zc.monitor

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!