Celery is a task queue that is to built an asynchronous message passing system. It can be used as a bucket where programming tasks can be dumped. The program that passed the task can continue to execute and function responsively.

To monitor the status of these celery tasks we use celery flower

The Celery Flower is a tool for monitoring your celery tasks and workers. It's web based and allows you to see task progress, details, worker status.

Install flower with pip

pip install flower

Install RabbitMQ

Celery requires a messaging agent in order to handle requests from an external source. This agent is referred to as a "broker".

RabbitMQ is the messaging server which powers this service. RabbitMQ does the following:

  • Listens for messages sent via the AMQP protocol.
  • Stores these messages in one or more queues.
  • Releases these messages to workers for consumption and processing.

RabbitMQ does not actually execute tasks. Rather, it is the mechanism by which tasks (“messages”) will be sent between instances and stored until executed.

Install rabbitmq using

sudo apt-get install rabbitmq-server

 

Add broker_api url in your settings.py

RabbitMQ management api

broker_api = 'http://guest:guest@localhost:15672/api/'

# Enable debug logging

logging = 'DEBUG'

We need to configure RabbitMQ for message broker services before running the celery. Once the RabbitMQ is successfully started it can be checked using the web UI located at:

http://localhost:15672/

Usage

Once the Celery Flower is successfully started you can check using the web UI located at:

http://localhost:5555

Launch the server

$ flower --port=5555

Launch from celery

$ celery flower -A proj --address=127.0.0.1 --port=5555

Subscribe To our news letter

Subscribe to our news letter to receive latest blog posts into your inbox. Please fill your email address in the below form.
*We don't provide your email contact details to any third parties
Latest Comments
Related Articles
How to create responsive thumbnails in Django templates using sorl-thumbnail? Chaitanya Kattineni

Sorl thumbnail is the package which is being widely used to generate thumbnail in Django. It will create thumbnail of given size for the given ...

Continue Reading...
Django - migrating from function based views to class based views Anjaneyulu Batta

The single most significant advantage in Django class-based views is inheritance. On a large project it's likely that we will have lots of similar views. ...

Continue Reading...
Understanding django serializers with examples Vamsi Popuri

Serializers are used for “translating” Django models into other formats like xmi,json,yaml(YAML Ain’t a Markup Language)

from django.core import serializers
data = serializers.serialize("xml", SomeModel.objects.all())

Continue Reading...