0Pricing
Flask Academy · Урок

Подключение Celery к фабрике приложения

Настройте брокер и приложение Celery.

«Подключение Celery к фабрике приложения» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Three Pieces to Wire

To run Celery you need three things: the broker URL, a result backend, and a Celery app object your tasks belong to.

Pick a Broker

Redis is the easiest broker to start with. You point Celery at it with a URL so it knows where to push and pull jobs.

broker_url = "redis://localhost:6379/0"

Add a Result Backend

If you want to read task results later, set a result backend. Redis works fine for both broker and backend in development.

result_backend = "redis://localhost:6379/1"

The Celery App Object

Celery centers on one Celery() instance. Tasks are registered on it, and workers load it to know what to run.

from celery import Celery
celery = Celery(__name__)

Why the Factory Matters

In the app factory pattern, config is loaded inside create_app. Celery should pull its broker URL from that same config, not hardcode it.

Read Config from Flask

Store CELERY settings in your Flask config so dev, test, and prod can differ. Then build Celery from app.config inside the factory.

app.config["CELERY_BROKER_URL"] = "redis://localhost:6379/0"

A make_celery Helper

A common pattern is a make_celery(app) function that reads app.config and returns a configured Celery instance.

def make_celery(app):
    c = Celery(app.import_name)
    c.conf.update(app.config)
    return c

Tasks Need App Context

Tasks often touch the database or current_app, which need an app context. Without it, those calls fail when the worker runs.

Subclass the Task Base

The classic fix wraps each task so it pushes an app context before running. That way tasks can use Flask extensions safely.

Two Processes, One Config

The web process and the worker are separate, but both build Celery from the same config so they agree on the broker and backend.

Start a Worker

You run workers from the command line, pointing at your Celery instance. Then they listen for jobs on the broker.

celery -A app.celery worker --loglevel=info

Quick Check

Tasks frequently use the database.

Recap

Set a broker and backend, build a Celery from app.config inside create_app, and push an app context so tasks can use Flask. ✅

Часто задаваемые вопросы

Урок «Подключение Celery к фабрике приложения» бесплатный?

Да — полный текст урока «Подключение Celery к фабрике приложения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.

Чему я научусь в уроке «Подключение Celery к фабрике приложения»?

Настройте брокер и приложение Celery. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Flask Academy?

Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Подключение Celery к фабрике приложения»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Flask Academy?

Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Почему работу следует вынести из запроса
  2. Подключение Celery к фабрике приложения
  3. Определение и вызов задачи
  4. Отслеживание результатов и обработка сбоев
← Назад к Flask Academy