How to Use Celery with Flask in Python

Install the necessary packages

In order to use Celery with Flask in Python, you need to install a few packages. First, make sure that you have Python 3 installed. Then, open up your terminal and type:

$ pip install celery flask redis 

This will install the necessary packages for using Celery with Flask in Python - Celery, Flask and Redis.

Once all of these packages are installed, you can move on to creating a new project directory for your application.

Create a new project directory

In this step, we will create a new project directory for our Flask and Celery application. To do so, open up your terminal or command prompt and type the following commands:

mkDIR flask-celery-project 
cd flask-celery-project
This will create a new folder called "flask-celery-project" in your current working directory and then change into that newly created folder. You can also use an IDE like PyCharm to create the project directory if you prefer.

Change into the newly created directory

Now that you have installed the necessary packages and created a new project directory, it's time to change into the newly created directory. To do this, open up your terminal or command line and type in

cd [project_directory]
. This will take you inside of your project folder. Once inside, create two separate files - one for Celery and one for Flask.

Create two separate files - one for Celery and one for Flask

In order to use Celery with Flask in Python, you need to create two separate files: one for Celery and the other for Flask. To do this, open your text editor of choice and create a new file called celery_app.py. This will be the main file that contains all of your Celery tasks. Then, create another file called flask_app.py, which will contain all of your Flask code.


Once both files have been created, you can start writing code inside them. For example, in celery_app.py, you can write a simple task like this:


@celery_app.task(name="my-task")
def my_task():
print("This is my first task!")

And in flask_app.py, you can add some basic routes like this:

@flask_app.route('/')
def index():
return "Hello World"
Celery Tutorial for Python
  • Flask Celery Example Documentation
  • Installing Celery with Flask in Python
  • Using Celery with Flask by Miguel Grinberg