Celery — это мощная распределенная система очередей задач, которая обычно используется в приложениях Python для обработки асинхронных и запланированных задач. Хотя Celery в основном предназначен для Unix-подобных систем, его также можно запустить в Windows. В этой статье мы рассмотрим различные методы активации рабочего процесса Celery в среде Windows, а также приведем примеры кода.
Метод 1: использование Celery с RabbitMQ в качестве брокера сообщений
-
Установите RabbitMQ: загрузите и установите RabbitMQ с официального сайта ( https://www.rabbitmq.com/download.html ) и следуйте инструкциям по установке.
-
Установить Celery: откройте командную строку и установите Celery с помощью pip:
pip install celery
-
Создание файла конфигурации Celery: создайте новый файл с именем
celeryconfig.py
и добавьте следующее содержимое:broker_url = 'amqp://guest:guest@localhost:5672//' result_backend = 'rpc://'
-
Создайте модуль задач. Создайте новый модуль Python, например,
tasks.py
, и определите свои задачи Celery:from celery import Celery app = Celery('tasks') app.config_from_object('celeryconfig') @app.task def add(x, y): return x + y
-
Запустите работника Celery: откройте командную строку, перейдите в каталог проекта и запустите работника Celery:
celery -A tasks worker --loglevel=info
Метод 2: использование Celery с Redis в качестве брокера сообщений
-
Установите Redis: загрузите и установите Redis с официального сайта ( https://redis.io/download ) и следуйте инструкциям по установке.
-
Установить Celery: откройте командную строку и установите Celery с помощью pip:
pip install celery
-
Создание файла конфигурации Celery: создайте новый файл с именем
celeryconfig.py
и добавьте следующее содержимое:broker_url = 'redis://localhost:6379/0' result_backend = 'redis://localhost:6379/0'
-
Создайте модуль задач. Создайте новый модуль Python, например,
tasks.py
, и определите задачи Celery (аналогично методу 1). -
Запустите работника Celery: откройте командную строку, перейдите в каталог проекта и запустите работника Celery:
celery -A tasks worker --loglevel=info
Метод 3: использование Celery со встроенным брокером сообщений разработки
-
Установить Celery: откройте командную строку и установите Celery с помощью pip:
pip install celery
-
Создайте модуль задач. Создайте новый модуль Python, например,
tasks.py
, и определите задачи Celery (аналогично методу 1). -
Запустите работника Celery: откройте командную строку, перейдите в каталог проекта и запустите работника Celery с помощью встроенного брокера сообщений разработки:
celery -A tasks worker --loglevel=info --without-gossip --without-mingle --without-heartbeat
Следуя методам, описанным в этой статье, вы можете активировать работника Celery в среде Windows. Независимо от того, выберете ли вы RabbitMQ, Redis или встроенный брокер сообщений разработки, Celery предоставит надежное и эффективное решение для обработки асинхронных задач в ваших приложениях Python.