tgext.asyncjob

Asynchrone banenwerker voor Turbogears2
Download nu

tgext.asyncjob Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • LGPL
  • Naam uitgever:
  • Alessandro Molina
  • Uitgever website:
  • http://www.objectblues.net/wiki/show/FlatLand

tgext.asyncjob Tags


tgext.asyncjob Beschrijving

Asynchrone banenarbeider voor Turbogears2 tgext.asyncjob is een Turbogears2-extensie gemaakt om achtergrond / synchrone banen te verwerken. Vergunningen om snel antwoorden op de gebruiker te retourneren terwijl het systeem meer werk op de achtergrond uitvoert, kan het nuttig zijn voor video-transcodering, miniaturen-generatie of andere taken waarbij de gebruiker de tijd niet kan verwachten voordat u een antwoord op de achtergrond krijgt. Uitvoeren: van tgext.asyncjob import asyncjob_performasyncjob_perform (callable, Arg1, Arg2, kwarg = waarde) installeren: tgext.asyncjob kan worden geïnstalleerd, zowel vanuit PYPI of vanuit Bitbucket: Easy_Install Tgeexp.asyncjobshould Werk gewoon voor het grootste deel van de gebruikerssenabling AsyncJobin Your Application lib / APP_GLOBALS.PY IMPORT START_ASYNC_WORKER: van TGEXT.ASYNCJOB IMPORT START_ASYNC_WORKERAND CALT IT IN DE __INIT __: Klasse Global (Object): DEF __INIT __ (Zelf): Start_Assync_worker () U kunt het global-object zelf doorgeven aan de Start_Assync_worker-functie, die zal worden gebruikt Bewaar de taken in de wachtrij, anders zal Asyncjob de globalen-object automatisch maken van het Call Stack-frame dat het object binnen is waar het Calle is D.PERFORMENDE ACHTERGROND TASHSTO Voer een achtergrondtaak uit die u eenvoudig kunt gebruiken TETEXT.ASYNCJOB.ASYNCJOB_PERFORM IT BELOPEN VANAAL DE CONTEXT Wanneer er een geldig verzoek is, wordt het vulbaar doorgegeven als eerste argument op de achtergrond met de verstrekte parameters: van TEGEXT.ASYNCJOB import Asyncjob_PerFormdef Background_Task (nummer): afdruknummer * 2Asyncjob_perform (background_task, 5) Toegang tot de databodebestandaard Asyncjob beheert Sqlalchemy-sessies en transacties op zichzelf. Elke achtergrondtaak is ingekapseld in een transactie die wordt teruggekeerd in het geval van een uitzondering.Assyncjob gebruikt zijn eigen Sqlalchemy-sessie, dus sla nooit een object dat al aan een andere sessie is gebonden. Vraag ze opnieuw op. Het enige probleem dat ontwikkelaars in gedachten zouden moeten houden, is dat wanneer u op zoek bent naar objecten die ze zojuist hebben gemaakt voordat ze de achtergrondtaak beginnen, ze misschien nog niet beschikbaar zijn in de DB. Om dit probleem te voorkomen, biedt Asyncjob Asyncjob_Timed_Query die een zoekopdracht zal uitvoeren die op zoek is naar een resultaat totdat het resultaat zelf wordt gevonden of een time-out wordt bereikt (standaard 60 seconden). Dit kan worden gebruikt om de achtergrondtaak op te halen voordat de achtergrond taak is opgehaald Ze verschijnen in de database: van tgext.asyncjob import asyncjob_perform, asyncjob_timed_query @ expose () Def controller_method (self): def async_query_action (group_id): groep = asyncjob_timed_query (dbsession.query (groep) .Filter_by (group_id = group_id)). Eerste () groep.display_name = 'Prova' G = Group (Group_name = 'Test_group') dbssession.add (g) dbssession.flush () asyncjob_perform (async_query_action, g.group_id) return 'Ok'to verander de time-out die je eenvoudig kunt maken Pas verschillende retries en intervalparameters naar Asyncjob_Timed_Query: Asyncjob_Timed_Query (DBSSession.Query (Group) .Filter_by (Group_ID = Group_ID), Pewries = 10, Interval = 6). First () Vereisten: · Python


tgext.asyncjob Gerelateerde software

vereiste

Download Python-afhankelijkheden en upload ze naar een aangepaste PYPI-server ...

224

Downloaden