Skip to main content

Task runner for Django 3 without requiring other services

Project description

Django Simple Task

Github Actions Documentation Status 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.2.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

django_simple_task-0.1.2-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django-simple-task-0.1.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.6.12-1-MANJARO

File hashes

Hashes for django-simple-task-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c70c5fd1db9ba58026ea3a00831c2c1a4d335f29c106321bb2dce643b7a71319
MD5 77a48d7db550139e4e8d97ad2f62f1fb
BLAKE2b-256 5fbaabc186afbb92f5e10a46967afd58e31d66abea6421fd645fbec598ff3ba1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_simple_task-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe6494f5297711f5ec767835163dad3e4f6b751aa8857f0c338e5271a0721a4f
MD5 3fde8f9e389cc3b5f5cc5f96534a73f8
BLAKE2b-256 827893daa3c370c297ada1c5a8eec16b85022cb311a14c3138b4319135346361

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