Skip to main content

Task runner for Django 3 without requiring other services

Project description

Django Simple Task

Github Actions Code Coverage Python Version PyPI Package License

django-simple-task runs background tasks in Django 3 without requiring other services and workers. It runs them in the same event loop as your ASGI application. It is not resilient as a proper task runner such as Celery, but works for some simple tasks and has less overall overheads.

Guide

Install the package:

pip install django-simple-task

Added it to installed apps:

# settings.py
INSTALLED_APPS = [
	...
	'django_simple_task'
]

Apply ASGI middleware :

# asgi.py
from django_simple_task import django_simple_task_middlware
application = django_simple_task_middlware(application)

Call a background task in Django view:

from django_simple_task import defer

def task1():
	time.sleep(1)
	print("task1 done")

async def task2():
	await asyncio.sleep(1)
	print("task2 done")

def view(requests):
	defer(task1)
	defer(task2)
	return HttpResponse(b"My View")

It is required to run Django with ASGI server. Official Doc

Configurations

Concurrency level can be controlled by adding DJANGO_SIMPLE_TASK_WORKERS to settings. Defaults to 1.

Project details


Download files

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

Source Distribution

django-simple-task-0.1.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

django_simple_task-0.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file django-simple-task-0.1.0.tar.gz.

File metadata

  • Download URL: django-simple-task-0.1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.7.4 Darwin/18.7.0

File hashes

Hashes for django-simple-task-0.1.0.tar.gz
Algorithm Hash digest
SHA256 69d970ba3f71d0aeb9b91adcb6141d44a482a1b092f330b1be50e1a0a9f5c617
MD5 171aa6e814476818142fad9e56830f55
BLAKE2b-256 e1d8474f033f90d228d6202a6a4fe2d46bcf717f58932e5bd05de731c1f8c321

See more details on using hashes here.

File details

Details for the file django_simple_task-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_simple_task-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ae1e5653aca19a15c07b56263c8d33c69e134f510dcd16749bcaf44a74fdf42
MD5 56d6f976bc9052baa84ba52cac23a77c
BLAKE2b-256 7d684b2d23bc1efff42c77c90fc863acd9049a6b3847e89a2e10586e9e94f289

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page