simplesignalsUNIX-signaalhandlers en werknemersprocessen, vereenvoudigd | |
Download nu |
simplesignals Rangschikking & Samenvatting
Advertentie
- 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