Skip to main content

A very fast valkey/postgres django tasks backend.

Project description

django-vtasks

Valkey Tasks. Very Fast Tasks.

From the team at GlitchTip, django-vtasks is a lightweight, async-first task queue for Django 6.0+.

Status: Newly feature complete. Beta quality. Use and report bugs.

Why django-vtasks?

  • Async-first - Native asyncio worker for high-performance I/O
  • Flexible backends - Start with Postgres, scale to Valkey without rewriting code
  • Lightweight - Minimal dependencies, modern codebase
  • Embedded mode - Run tasks in your ASGI server or as standalone workers

Features

  • Dual backends: Database (Postgres/SQLite/MySQL) and Valkey (Redis-compatible)
  • Scheduled tasks with cron syntax
  • Unique tasks (Mutex and Throttle patterns)
  • Batch processing for high-throughput queues
  • Prometheus metrics
  • Django admin interface for task management

Admin Interface

Requirements

  • Python 3.12+
  • Django 6.0+
  • Valkey 7+ (or Redis 7+) for Valkey backend

Quick Start

pip install django-vtasks

# For Valkey backend support:
pip install "django-vtasks[valkey]"
# settings.py
INSTALLED_APPS = ["django_vtasks", "django_vtasks.db"]

TASKS = {
    "default": {
        "BACKEND": "django_vtasks.backends.db.DatabaseTaskBackend",
    }
}
# myapp/tasks.py
from django_vtasks import task

@task
def send_email(user_id):
    # Your task logic
    pass
# In your views
send_email.enqueue(user_id)
# or async
await send_email.aenqueue(user_id)
# Run the worker
python manage.py runworker

Performance

Benchmarks show django-vtasks outperforms Celery in both enqueue and processing throughput:

  • 1.9x faster enqueue (~1,200 ops/s vs ~650 ops/s)
  • 1.5x faster processing (~250 ops/s vs ~166 ops/s)

See Benchmarks for full methodology and results.

Documentation

Full documentation is available at django-vtasks.glitchtip.com

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.


Built by the GlitchTip team.

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_vtasks-2.0.0.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_vtasks-2.0.0-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file django_vtasks-2.0.0.tar.gz.

File metadata

  • Download URL: django_vtasks-2.0.0.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for django_vtasks-2.0.0.tar.gz
Algorithm Hash digest
SHA256 aca2698b913d1248fc2ee938725a518e15560645a2e87cfa69f2f88d040766ce
MD5 2e5730c018fbc425f76353c8c7634d1f
BLAKE2b-256 065a40377fda9c489821e0212cd0f295771bc5877a95a4699e480d025325040a

See more details on using hashes here.

File details

Details for the file django_vtasks-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: django_vtasks-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for django_vtasks-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f60275e7c1a0df427fd0f3734b541085d4b5e42c69089e792c5b07d9b593268
MD5 5c5f7a8ff20e3eaaa8fc17eec2b75e6b
BLAKE2b-256 555cf65ab32c8b11f43a70e222ef3a02f0d2bc7bf1389f7a86e22938d53d2b22

See more details on using hashes here.

Supported by

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