flask/examples/celery
Kurt McKee 5796f50315
Drop Python 3.8 support
This addresses a failure in the `py38-dev` tests
caused by markupsafe recently dropping Python 3.8 support.

Changed in this commit:

* Drop Python 3.8 support
* Update CI and tox testing
* Update docs references to Python 3.8
* Remove a Windows / Python 3.8 admonition in the docs
* Address type annotations
* Incorporate style fixes

Still to do:

* `src/flask/sessions.py` contains these comments:

  > TODO generic when Python > 3.8

  This TODO should now be unblocked.
2024-10-19 10:09:24 -05:00
..
src/task_app add celery example 2023-02-10 09:16:53 -08:00
make_celery.py add celery example 2023-02-10 09:16:53 -08:00
pyproject.toml Drop Python 3.8 support 2024-10-19 10:09:24 -05:00
README.md show 'run --debug' in docs 2023-02-15 14:33:32 -08:00
requirements.txt update dependencies 2023-05-02 07:17:52 -07:00

Background Tasks with Celery

This example shows how to configure Celery with Flask, how to set up an API for submitting tasks and polling results, and how to use that API with JavaScript. See Flask's documentation about Celery.

From this directory, create a virtualenv and install the application into it. Then run a Celery worker.

$ python3 -m venv .venv
$ . ./.venv/bin/activate
$ pip install -r requirements.txt && pip install -e .
$ celery -A make_celery worker --loglevel INFO

In a separate terminal, activate the virtualenv and run the Flask development server.

$ . ./.venv/bin/activate
$ flask -A task_app run --debug

Go to http://localhost:5000/ and use the forms to submit tasks. You can see the polling requests in the browser dev tools and the Flask logs. You can see the tasks submitting and completing in the Celery logs.