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.

Celery Configuration with Environment Variables


My preferred way to configure an app is via environment variables. Unfortunately, this is where Celery is a bit of a mess. Here is an alternative approach I have been tossing around.
Read more ⟶

Docker Healthcheck for Celery Workers


How to make Docker check and report on a Celery worker node's health status.
Read more ⟶

Auto-reload Celery on code changes


How to improve your Celery developer experience with automatic restarts on code changes.
Read more ⟶

Kubernetes for Python Developers: Part 1


A Kubernetes tutorial for Python developers.
Read more ⟶

Celery on Docker: From the Ground up


A Docker tutorial for beginners
Read more ⟶

Quick Guide: Custom Celery Task Logger


How to customise the Celery task logger
Read more ⟶

Celery Execution Pools: What is it all about?


An introduction to prefork, solo, eventlet and gevent
Read more ⟶

Monitoring a Dockerized Celery Cluster with Flower


How to set up Flower in a Docker cluster
Read more ⟶

Celery, docker and the missing startup banner


Where did the Celery startup screen go?
Read more ⟶

Custom Celery task states


Celery tasks are guaranteed to have a state. In this article, I explain the built-in task states and their meaning. And I show you how to leverage this concept to enrich tasks with your own custom state.
Read more ⟶