This post serves as more of a tutorial to get a Hello World up and running while using Celery and MongoDB as the broker . Celery has great documentation but they are in snippets across multiple pages and nothing that shows a full working example of using Celery with MongoDB which might be helpful for new users .
Install All Required Packages
Packages related to Celery.
pip install celery
pip install -U celery-with-mongodb
Ensure that you have MongoDB installed and running. 10gen have great documentation to get you up and running with MongoDB in no time.
In this tutorial we will only use a single module for both the celery application and the tasks.
1. Create celeryconfig.py
Lets start by first creating a celeryconfig.py that will store configuration details that will be used to configure Celery to use MongoDb as the results backend and other settings.
2.Create tasks.py(Celery Application and Worker)
3. Now that we have our application and configs created lets start it up!
celery -A tasks worker --loglevel=info
4. Now lets create some work items/tasks to be processed. You can easily create a script , but we used the CLI in this example.
5. Lets look on the console of the worker to see the jobs submitted.
As you can see tasks were obtained and processed
6. If you are curious about your MongoDB backend . Lets take a look at the collections that will be used to store the results.
Thats how you get a simple Hello World up and running with MongoDB. Will be doing a advance blog post where we use Celery and MongoDB with proper production configurations.