Kolibri

Software Screenshot:
Kolibri
Software Details:
Version: 0.2.0 Alpha
Upload Date: 11 May 15
Developer: Thomas Weholt
Distribution Type: Freeware
Downloads: 5

Rating: nan/5 (Total Votes: 0)

Kolibri is a reusable Django app for designing and executing asynchronous processes and workflows. A workflow is a collections of steps in a defined order, processing data in each step. A step can break the flow if an exception is raised and/or a specified step can be executed to handle a specific exception. Kolibri uses celery to handle processing in the background. All processors and workflows can only be started by staff members, but more fine grained access control might be implemented in future versions.

The project got started because I needed to control how I added content to a photo project I'm developing in django. The project involved lots of heavy processes like thumbnail generation and metadata processing. Adding content consists of steps that needs to be done in a specific order, and I need to control what action to take if one step throws an exception. I was using celery, but adding a new step or process was tedious and I wanted more dynamic way of defining and managing processors.

The current implementation is not stable and a proof of concept. Comments very welcome, especially on how to monitor status of celery processes and provide feedback to the user.

Installation

pip install django-kolibri

or

hg clone https://bitbucket.org/weholt/django-kolibri python setup.py install

 set STATIC_ROOT and STATIC_URL in settings.py
 add 'kolibri' to your installed apps
 add url(r'^kolibri/', include('kolibri.urls')), to your urls.py


It would be smart to read through usage.txt first for a more detailed tutorial or experiment with the working example project provided in the source, available at bitbucket.

Features:

  • asynchronous processes, which can process items/querysets or execute processes not related to specific models or instances (sending email, scanning filesystems etc)
  • connect several processors into workflows, with exception handling, clean-up steps and an optional fluent interface
  • template tags to handle execution of processors/workflows for an item or queryset in your templates
  • admin action integration for your models
  • dashboard listing running processors
  • a concept of pending processors and a history of what has been processed so you don't execute unnecessary processesors or workflows
  • user exclusive processors so two users can execute the same processor at the same time without touching the same data
  • logging and history, with direct link to processed instances
  • ajax integration using jquery

What is new in this release:

  • Support for user input. See bottom of usage description for more info.

What is new in version 0.1.1 Alpha:

  • Added support for only running a processor once for an instance.

Requirements:

  • Python
  • Django
  • celery
  • django-celery

Other Software of Developer Thomas Weholt

django-avocado
django-avocado

20 Feb 15

dse
dse

14 Apr 15

Comments to Kolibri

Comments not found
Add Comment
Turn on images!