BjoernHi 👋, I'm Bjoern Stiel

I'm a Celery task queue specialist and domain expert for Python trading applications (think hedge funds). I'm a consultant, developer and educator. I write for Python developers who got sucked into the Celery queue and want to understand their way out.

Dynamic Task Routing in Celery

Routing a task to a specialised worker via a dedicated queue is a powerful concept. To scale your application, you can take this idea to the next level and delegate the routing to a custom TaskRouter class.
Read more ⟶

Task Routing in Celery

Dedicated Celery queues are a way to route a task to a dedicated worker. In this blog post I explain the basic concept of queues and how to configure Celery for a multi queue setup.
Read more ⟶

Testing Celery Chains

Chains are fundamental building blocks in Celery workflows that go beyond single task execution. With great power comes great responsibility. And even greater need for testing - not only the parts but the entire chain.
Read more ⟶

Unit Testing Celery Tasks

Unit testing asynchronous Celery code is not as straightforward as unit testing synchronous REST APIs. In this article I discuss three approaches to unit testing Celery tasks.
Read more ⟶