Opinion: Do you use async Django? Why? Why not?

I've always been hesitant to adopt Django's asynchronous features in my past projects for several reasons: - Initially, Django's async support was incomplete, making it somewhat challenging to understand. Setting up Django Channels appeared complex, and I was concerned about potential conflicts with existing packages. - The new async syntax added cognitive overhead and, in my view, increased the likelihood of making mistakes. (For example, the documentation warns not to forget async_to_sync.) - Extra configurations with PostgreSQL and PgBouncer were needed, and these were potentially unsupported by hosting services. - I was already utilizing Celery to manage long-running tasks, and for websockets, I found straightforward solutions like Pusher or its open-source alternative, Soketi.

In short, I found the shift toward async daunting, without seeing a clear advantage. However, I'm eager to hear others' perspectives: - Do you use Django's async features? What are your use cases and benefits that you couldn't achieve using tools like Celery? - Do you find my concerns valid?

I'm open to rethinking my stance based on positive experiences and feedback. Thank you.