Celery. The Missing Blog

Taking care of Celery (the distributed Python task queue, not the vegetable)

July 03, 2018

An incredibly simple no-frills Celery setup

Posted by Bjoern Stiel

Having to deal with the full-blown Celery infrastructure can be an overkill. If you want to run Celery on a Raspbery Pi, need to try something out quickly or are simply after a simple dev setup, a message broker (plus a result store) feels like using a sledgehammer to crack a nut. In this blog post you’ll learn how to...

Read more...


June 26, 2018

Distributed Monte Carlo simulation with Celery chords

Posted by Bjoern Stiel

Celery chords are one of the six Celery workflow primitives. A Celery workflow defines the order in which individual Celery tasks are executed asynchronously. A chord consists of a Celery group (called chord header) and a callback. A group is a list of tasks that are executed in parallel. After all group tasks have finished successfully, the callback is executed,...

Read more...



June 12, 2018

How to Dockerize a Celery App With Django And RabbitMQ

Posted by Bjoern Stiel

Docker simplifies building, testing, deploying and running applications. Docker allows developers to package up an application with everything it needs, such as libraries and other dependencies, and ship it all out as one package. This package, which is essentially a build artifact, is called a Docker image. As a general Docker design principle, you should follow the 12factor design principles....

Read more...


June 05, 2018

Dynamic Task Routing in Celery

Posted by Bjoern Stiel

In our previous blog post we looked into custom queues and task routing. We had to configure per task which queue we want Celery to task a route to. While this approach works well for a simple setup, it does not scale well for applications and micro-services where many Celery tasks need to be routed to a number of different...

Read more...


Subscribe to our mailing list