Worc

Python-taakwachtrij
Download nu

Worc Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Other/Proprietary Li...
  • Prijs:
  • FREE
  • Naam uitgever:
  • Daniel Miller
  • Uitgever website:
  • http://www.openpolitics.com/pieces

Worc Tags


Worc Beschrijving

WORQ is een taakwachtrij Python-bibliotheek. Er zijn twee hoofdcomponenten die samenwerken: - Taskose- Workerpoolworq schepen met meer dan één implementatie van elk van deze componenten .- Worq.queue.memory.taskqueue - een in-geheugen (proces lokaal) taakwachtrij.- Worq.QueUE. redis.taskqueue - een taakwachtrij van Redis-backed die kan schalen naar meerdere servers.- Worq.pool.thread.workerpool - een multi-thread werknemer zwembad.- Worq.pool.process.workerpool - een multi-process werknemer zwembad. Deze Componenten kunnen worden gemengd en gematcht om te voldoen aan verschillende behoeften.an voorbeeld met redi's en een Multi-Process Worker PoolScreate de volgende bestanden.tasks.py: egymport loggingFrom worq import get_broker, taskspacs = taskspace (__ naam __) Def init (URL): loggen. BasicConfig (Level = Logging.Debug) Broker = GET_BROOKER (URL) Broker.Expose (TS) Return Broker@ts.taskdef Num (waarde): return int(value)@ts.taskdef Toevoegen (waarden): Return Sum (waarden) pool.py:#!/USR/BIN /NV PYTHONIMPORT SYSFROM WORQ.POOL.PROCESS Import WorkerpoolFrom Taken Import Initdef Main (URL): Broker = init (URL) Pool = Werk Erpool (makelaar, init, werknemers = 2) zwembad.start () indien __Name__ == '__Main__': main (sys.argv ) main.py: #! / usr / bin / env pythonImport sysimport loggingFrom worq import GET_QUEUEDEF MAIN (URL): logging.basicconfig (niveau = loggen.debug) q = get_queue (URL) # Enquise taken die moeten worden uitgevoerd in parallel nums = # Verwerk de resultaten wanneer ze klaar zijn Resultaat = q.tasks.add (nums) # wacht op het eindresultaat result.Wacht (timeout = 30) afdrukken ('0 + 1 + ... + 9 = {}'. Formaat ( Resultaat.value)) Indien __Name__ == '__Main__ ==' __Main__ ': Main (Sys.Argv ) Zorg ervoor dat redi's verbindingen op poort 6379 accepteren. Het wordt aanbevolen, maar niet vereist, dat u een virtualenv instelt. Vervolgens, in een terminalvenster: PIP Installeer "WORQ " Python Pool.py Redis: // Localhost: 6379/0 en in een tweede terminalvenster: Python Main.py Redis: // Localhost: 6379 / 0SEE Voorbeelden Voor meer dingen die kunnen worden gedaan met Worq.Download de SRONGET IT op GitHub: https://github.com/millerdev/worq/Running De ontwikkeling van Testsworq wordt meestal gedaan met behulp van TDD. Tests zijn belangrijk om te verifiëren dat nieuwe code werkt. Misschien wilt u de tests uitvoeren als u wilt bijdragen aan WORQ of gewoon gewoon willen hacken. Een virtualenv instellen en deze opdrachten uitvoeren waarin u de WORQ-broncode hebt ingecheckt: PIP Installeer de neus NosetestsDe tests voor sommige componenten (bijvoorbeeld redis taakque) zijn uitgeschakeld tenzij de nodige vereisten beschikbaar zijn. Bijvoorbeeld, standaard de tests op zoek naar redi's bij Redis: // localhost: 16379/0 (noot niet-standaardpoort; u kunt deze URL aanpassen met de Worq_Test_Redis_url-omgeving Variabele) .Producten Homepage


Worc Gerelateerde software