Django VTasks: a fast, asyncio-friendly Django 6.0 Task Backend

https://gitlab.com/glitchtip/django-vtasks

I built django-vtasks to replace Celery (task queue) in my open source project, GlitchTip. I wanted something with an asyncio-first approach that supports Valkey and Postgres backends. Sync tasks run in threads. We don't support every Celery broker and feature, but I think we have a good feature set and we outperform Celery in benchmarks. Being able to run my_task.aenqueue() is friendlier than doing this in Celery from an async view. It allows for a true asyncio valkey call, not sync_to_async. I found django-tasks not performant enough, as I need high concurrency. (As I understand, Django Tasks is modeled off of that project, so thank you to django-tasks folks). If this sounds useful, give it a try. Or better yet, submit a bug report or merge request.

16 points · 2 comments · view on lemmy.world

2 Comments

eager_eagle@lemmy.world · 1 pts · 190d (1 reply)

cool, does that mean it runs in the same event loop as the asgi server?

bufke@lemmy.today · 2 pts · 190d

It can yes, but you may also run it as a separate process via a manage.py command. The scheduler will also work in either set up, and locks itself to running just once. So it's safe to scale any way want.