Celery in production

Here are some helpful tips on how to run a large Celery application in a production environment.

The first suggestion is to use a configuration module for your Celery application rather than configuring the Celery app in your worker code. Assuming that your configuration file is called config.py, you can pass it to a Celery application as follows:

import celery
app = celery.Celery('mergesort')
app.config_from_object('config')

Then, together with any other configuration directive that might be relevant to the specific application being developed, put the following code in config.py:

BROKER_URL = 'amqp://HOST1'
CELERY_RESULT_BACKEND = 'redis://HOST2'

Probably, the main performance-related suggestion would be to use more than ...

Get Distributed Computing with Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.