[–] [S] 2 points 5 months ago*

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.

  • source
  • parent
  • context
  •  

    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.

    submitted 8 months ago* (last edited 8 months ago) by to c/selfhosted@lemmy.world
     

    GlitchTip is an open source error and uptime monitoring tool. We added experimental support for Postgres-only mode - no valkey/redis needed. We have an all-in-one script (also experimental) to embed celery and web as one process. Together, this gets the memory requirements quite low. It's a core goal of mine to ensure GlitchTip is as easy to host as possible. Report any issues. I'd love to know any feature requests related to self-hosting too.