simplesignals

UNIX-signaalhandlers en werknemersprocessen, vereenvoudigd
Download nu

simplesignals Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Public Domain
  • Prijs:
  • FREE
  • Naam uitgever:
  • Jamie Matthews
  • Uitgever website:
  • https://github.com/j4mie/

simplesignals Tags


simplesignals Beschrijving

SIMPLESIGNALS is een Python-module die UNIX-signaalhandlers en werknemersprocessen biedt, vereenvoudigd. DocumentationDeze project biedt een laag bovenop de ingebouwde signaalmodule. Hiermee kunt u eenvoudig registreren functies als handlers voor Unix-signalen. Het biedt ook een lichtgewicht baseklasse voor het implementeren van basis UNIX-werknemersprocessen.Signal HandlersDe bibliotheek biedt een reeks functie-decorateurs, één voor elk signaaltype, dat u kunt gebruiken om een functie als een signaalhandler te declareren. Als u bijvoorbeeld een handlerfunctie aansluit op het SIGINT-signaal: van simplesignals import signalen@signals.intdef handler (): print "doei dan!" EXIT () Als u dezelfde functie wilt gebruiken om meerdere signalen te verwerken, kunt u de decorateurs stapelen en vragen dat het signaal wordt doorgegeven aan uw handlerfunctie: van simplesignals importt signalen@signals.int (take_signal = true) @Signals. Termijn (take_signal = true) @ signalen.quit (take_signal = true) Def Handler (signaal): als signaal == signalen.int: print "gekregen int!" # ... enz. Exit () Als u het uitvoeringsframe nodig hebt dat aan uw functie wordt overhandigd door de signaalmodule, kunt u dat ook vragen: van simplesignals importt signalen@signals.quit (take_frame = true) Def-handler (frame (frame) ): # Doe iets met frame-exit () Systeemoproep Interruptgedrag kan worden geregeld met de Allow_Byrupt-vlag. Zie de signaalmodule DOCS voor Details.Worker Processesone van het primaire gebruik van UNIX-signalen is om goed opgevoede werknemersprocessen te implementeren. Procesbeheerhulpmiddelen zoals circus gebruiken signalen om te communiceren met uw processen. Als u signalen correct aankunnen, kunt u de mogelijkheid nemen om uw proces sierlijk uit te schakelen en half-afgewerkte taken te vermijden, enz .. Extreem eenvoudige basisklasse is aanwezig die momenteel het volgende biedt: - Een hoofdlus waarmee uw proces kan worden uitgevoerd het werk.- sierlijke shutdown op SIGINT, SIGERM EN SIGQUIT.- Stelt de titel van het proces in als SetProctitle is geïnstalleerd. Een eenvoudig voorbeeld: van SIMPLESIGNALS.PROCESS IMPORTERPROCESSBASESCLASS MYWERWERSER (WORTERPROCESSBASE): Process_title = "My-Worker" Def Do_Work ( zelf): # Deze methode wordt herhaaldelijk genoemd, doe hier je werk # bijv. Ontvang item uit een wachtrij en het proces IT Self.do_Some_Really_Super_Hard_Work () Als __Name__ == "__Main__ ==" __Main__ ": Werknemer = werknemer () Werknemer.run () Neem een kijkje op de broncode om precies te begrijpen welke functionaliteit WorkerprocessBase biedt.Product's Homepage


simplesignals Gerelateerde software