Skip to main content

Persist uWSGI spooled tasks in uWSGI cache

Project description

A polyvalent Task model to get the most out of uWSGI’s spooler with minimal effort.

Install

Install django-threadlocals if you want automatic provisioning of Task.user and Task.creation_ip.

This app works without uwsgi installed (ie. runserver), but you can test your wsgi app with a command like:

uwsgi --env DEBUG=1 --spooler=/tmp/spool --spooler-processes 16 --http-socket=0.0.0.0:8000 --plugin=python --module=mrs.wsgi:application --honour-stdin

Add django_uwsgi_spooler to INSTALLED_APPS and execute migrations with the ./manage.py migrate command.

django_uwsgi_spooler.models will set uwsgi.spooler so you don’t have any extra setup to do to enjoy uWSGI spooler, besides have it enabled if you want tasks to actually run in the background.

If you have CRUDLFA+ installed, it will register a CRUD for task, which will gain a lot of features as we move forward to 1.0 release as you can imagine: towards full control of the spooler as permited by uWSGI’s API.

Usage

Your callback is just a function that takes a task argument:

def yourcallback(task):
    # do stuff ...

You can start a task as such:

Task(callback_name='yourmodule.yourcallback').spool()

See a more elaborated example in django_uwsgi_spooler/example.py

Project details


Release history Release notifications

This version
History Node

0.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-uwsgi-spooler-0.0.0.tar.gz (2.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page