Chard

Dev tools

background task queue

SHOW HN2022

61points
16comments
#868of 2,570 in 2022
Top 34%of 2022 by points

How HN took it

DebatedReal support and real criticism

4 positive, 0 neutral or asking, 1 mixed, 3 critical, out of 8 comments about the project. Thread score +0.04.

Idea: 3 for, 1 againstDesign: 0 for, 2 againstDocs: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Simple, minimalist alternative for low-traffic Django sites without Redis

    From 3 comments
    • I've been very excited to see Django embrace asyncio, and your package looks like a great way to do async task queues. I've built a lot of very low traffic Django sites that are…
      phoebefactorial on HN
    • This looks awesome! I'll definitely check it out. Always on the lookout for minimalist django libraries. I'll give it a go in a couple weeks. Thanks for making it and sharing!
      canadiantim on HN
    • I love the simplicity of this idea because for lots of sites the database works just fine as a queue backend and it reduces the amount of infrastructure needed. I currently use…
      adparadox on HN
  • Async-first design suits future Django async features

    From 1 comment
    • I love the simplicity of this idea because for lots of sites the database works just fine as a queue backend and it reduces the amount of infrastructure needed. I currently use…
      adparadox on HN

Objections

  • Database-backed task model is still a dependency

    From 1 comment
    • > without any external dependencies (i.e. no Redis/RabbitMQ) You still depend on a database with the `Task` model. This would be a no-go for that reason, since there's no…
      xoudini on HN
  • A separate worker process still needs monitoring and deployment plumbing

    From 2 comments
    • My problem with this (and similar projects) is that there actually is a dependency: Running the worker! This may look like a small thing but in a production environment this…
      spapas82 on HN
    • Great explanation thank you! My go-to stack is Django over gunicorn over nginx like you describe (industry standard setup in Python web development) and I wouldn't like to change…
      spapas82 on HN
  • Tasks must be async, so synchronous code needs sync_to_async wrapping

    From 2 comments
    • It looks like it requires all the code in your task to use async code?
      etaioinshrdlu on HN
    • That's right although you could take a synchronous function and wrap it with sync_to_async() and it would work. But I'm not sure about the performance implications of that.…
      drpancake on HN

Requests

  • A roadmap section toward a stable 1.0 API

    From 1 comment
    • Awesome, we were just discussing internally how to do such an architecture Maybe a "where to help" / roadmap section for a sense of 'what is left for a stable & reasonably…
      lmeyerov on HN

Questions

  • Can tasks run without a separate worker process?

    From 2 comments
    • My problem with this (and similar projects) is that there actually is a dependency: Running the worker! This may look like a small thing but in a production environment this…
      spapas82 on HN
    • It depends a lot on how the application is set up. > So, my ideal async task thingie would be to start an async worker on the fly when there are tasks; the worker will be killed…
      nerdponx on HN
  • Does wrapping sync functions with sync_to_async perform well?

    From 1 comment
    • That's right although you could take a synchronous function and wrap it with sync_to_async() and it would work. But I'm not sure about the performance implications of that.…
      drpancake on HN

Alternatives named

  • django-db-queue

    From 1 comment
    • I love the simplicity of this idea because for lots of sites the database works just fine as a queue backend and it reduces the amount of infrastructure needed. I currently use…
      adparadox on HN
  • Django Q

    From 1 comment
    • I love the simplicity of this idea because for lots of sites the database works just fine as a queue backend and it reduces the amount of infrastructure needed. I currently use…
      adparadox on HN
  • django-rq

    From 1 comment
    • I love the simplicity of this idea because for lots of sites the database works just fine as a queue backend and it reduces the amount of infrastructure needed. I currently use…
      adparadox on HN
  • Celery

    From 1 comment
    • It depends a lot on how the application is set up. > So, my ideal async task thingie would be to start an async worker on the fly when there are tasks; the worker will be killed…
      nerdponx on HN
  • Dramatiq

    From 1 comment
    • It depends a lot on how the application is set up. > So, my ideal async task thingie would be to start an async worker on the fly when there are tasks; the worker will be killed…
      nerdponx on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/32799358)