Kolibri is een herbruikbare Django app voor het ontwerpen en uitvoeren van asynchrone processen en workflows & nbsp;. Een workflow is een collectie van stappen in een bepaalde volgorde, het verwerken van gegevens in elke stap. Een stap kan de stroming breken als een uitzondering wordt opgeheven en / of een bepaalde stap kan worden uitgevoerd tot specifieke uitzondering te behandelen. Kolibri gebruikt selderij verwerking verwerken de achtergrond. Alle processors en workflows kan alleen worden gestart door de medewerkers, maar meer fijnkorrelige toegangscontrole kunnen in toekomstige versies worden uitgevoerd.
Het project begonnen omdat ik nodig had om te bepalen hoe ik de inhoud toegevoegd aan een fotoproject Ik ben het ontwikkelen van in Django. Het project omvatte veel zware processen zoals verkleinde generatie en metadata verwerking. Inhoud toevoegen bestaat uit stappen die gedaan moet worden in een bepaalde volgorde, en ik moet controleren wat actie te ondernemen als een stap gooit een uitzondering. Ik was met behulp van selderij, maar het toevoegen van een nieuwe stap of proces was vervelend en ik wilde meer dynamische manier van het definiëren en beheren van processors.
De huidige implementatie is niet stabiel en een proof of concept. Reacties van harte welkom, in het bijzonder over de wijze waarop de status van selderij processen te monitoren en feedback geven aan de gebruiker.
installatie
pip installeren django-kolibri
of
hg clone https://bitbucket.org/weholt/django-kolibri python setup.py installeren
& Nbsp; set STATIC_ROOT en STATIC_URL in settings.py
& Nbsp; add 'kolibri' om uw geïnstalleerde apps
& Nbsp; toe te voegen url (r '^ kolibri /', onder meer ('kolibri.urls')), om uw urls.py
Het zou slim zijn om te lezen door middel van usage.txt eerst voor een meer gedetailleerde tutorial of experimenteren met het werkend voorbeeld project voorzag in de bron, verkrijgbaar bij BitBucket zijn
Eigenschappen .
- asynchrone processen, welke items / QuerySets kan verwerken of uit te voeren processen niet gerelateerd aan specifieke modellen of exemplaren (het versturen van e-mail, scannen bestandssystemen etc)
- sluit meerdere processors in workflows, met exception handling, clean-up stappen en een optionele vloeiend-interface
- template tags om uitvoering van processors / workflows te behandelen voor een item of queryset in uw sjablonen
- admin actie-integratie voor uw modellen
- dashboard notering lopen processors
- een concept van afwachting processors en een geschiedenis van wat is verwerkt, zodat je niet onnodig processesors of workflows te voeren
- de gebruiker exclusieve processoren, zodat twee gebruikers kunnen dezelfde processor tegelijkertijd uit te voeren zonder het aanraken van de dezelfde gegevens
- logging en geschiedenis, met een directe link naar verwerkte gevallen
- ajax integratie met behulp van jQuery
Wat is nieuw in deze release:
- Ondersteuning voor invoer van de gebruiker. Zie bodem van het gebruik beschrijving voor meer informatie.
Wat is nieuw in versie 0.1.1 Alpha:
- Ondersteuning voor alleen het draaien van een processor eenmaal voor een instantie.
Eisen
- Python
- Django
- selder
- Django-selderij
Reacties niet gevonden