0Pricing
Django Academy · Lección

Configuración de Celery con un broker

Conecte Celery a Redis o RabbitMQ

Configuración de Celery con un broker es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Django Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Django Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

What a Broker Is

Celery needs a broker: a middleman that holds queued tasks until a worker grabs them. Think of it as the inbox between your app and the workers.

Redis or RabbitMQ

The two common brokers are Redis (simple, fast, great default) and RabbitMQ (heavier, very robust). For most Django apps, Redis is plenty. 📨

Install the Packages

Start by installing Celery and the Redis client so Celery can talk to your broker over the network.

pip install celery redis

Create the Celery App

Add a celery.py next to settings.py. It creates the Celery instance and tells it where to find your Django config.

import os
from celery import Celery
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
app = Celery("myproject")

Read Config from Settings

Point Celery at your Django settings so all its options live in one place, namespaced with a CELERY prefix.

app.config_from_object("django.conf:settings", namespace="CELERY")

Auto-Discover Tasks

One line tells Celery to scan every installed app for a tasks module, so you never have to register tasks by hand.

app.autodiscover_tasks()

Wire It into __init__

In your project __init__.py, import the Celery app so it loads whenever Django starts. This makes the shared task decorator work.

from .celery import app as celery_app
__all__ = ("celery_app",)

Set the Broker URL

In settings.py, point CELERY_BROKER_URL at your running Redis instance so producers and workers share the same queue.

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

Add a Result Backend

If you want to read task results later, set a result backend. Redis can serve double duty as both broker and result store.

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

Start a Worker

Run the worker from a terminal. It connects to the broker and waits for jobs. Keep your Django server running in a separate terminal. 🛠️

celery -A myproject worker -l info

Two Processes, Always

Remember: the web server and the worker are separate processes. Both must run for background tasks to actually execute.

Quick Check

What job does the broker do in a Celery setup?

Recap: Celery Setup

Install Celery and a broker like Redis, create celery.py, set the broker URL, and run a worker in its own terminal. You are ready to queue. ✅

Preguntas frecuentes

¿La lección «Configuración de Celery con un broker» es gratis?

Sí — el texto completo de «Configuración de Celery con un broker» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Django Academy, actualiza a CoddyKit PRO. El curso de Django Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Configuración de Celery con un broker»?

Conecte Celery a Redis o RabbitMQ Practicas Django Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Django Academy?

No se requiere experiencia previa. Django Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Configuración de Celery con un broker»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Django Academy?

Sí. Cada lección de Django Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Por qué necesita tareas en segundo plano
  2. Configuración de Celery con un broker
  3. Escritura y llamada de @shared_task
  4. Tareas programadas con Celery Beat
← Volver a Django Academy