Django Academy · Lektion

Konfigurera Celery med en broker

Koppla Celery till Redis eller RabbitMQ

Lektion 2 av 413 steg

Konfigurera Celery med en broker är en gratis lektion i Django Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Django Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Django Academy innehåller totalt 4 lektioner.

Vad en broker är

Celery behöver en broker: en mellanhand som håller köade uppgifter tills en worker hämtar dem. Tänk på den som inkorgen mellan din app och dina workers.

Redis eller RabbitMQ

De två vanligaste broker-lösningarna är Redis (enkel, snabb och ett utmärkt standardval) och RabbitMQ (tyngre men mycket robust). För de flesta Django-appar räcker Redis gott. 📨

Installera paketen

Börja med att installera Celery och Redis-klienten så att Celery kan kommunicera med din broker över nätverket.

pip install celery redis

Skapa Celery-appen

Lägg till en celery.py bredvid settings.py. Den skapar Celery-instansen och talar om var Django-konfigurationen finns.

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

Läs konfigurationen från Settings

Anslut Celery till dina Django-inställningar så att alla alternativ finns på samma ställe, med namnrymden CELERY som prefix.

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

Upptäck tasks automatiskt

En rad instruerar Celery att söka efter en tasks-modul i alla installerade appar, så att du aldrig behöver registrera tasks manuellt.

app.autodiscover_tasks()

Koppla in den i __init__

Importera Celery-appen i projektets __init__.py så att den laddas när Django startar. Då fungerar den delade task-dekoratorn.

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

Ange broker-URL:en

Peka CELERY_BROKER_URL i settings.py på din körande Redis-instans så att producenter och workers delar samma kö.

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

Lägg till en result backend

Om du vill läsa task-resultat senare anger du en result backend. Redis kan användas både som broker och som resultatlagring.

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

Starta en worker

Kör workern från en terminal. Den ansluter till brokern och väntar på jobb. Låt Django-servern köra i en separat terminal. 🛠️

celery -A myproject worker -l info

Alltid två processer

Kom ihåg: webbservern och worker är separata processer. Båda måste köras för att bakgrundsuppgifter faktiskt ska utföras.

Snabbkontroll

Vilken uppgift har brokern i en Celery-konfiguration?

Sammanfattning: Celery-konfiguration

Installera Celery och en broker som Redis, skapa celery.py, ange broker-URL:en och kör en worker i en egen terminal. Nu är du redo att lägga jobb i kön. ✅

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Konfigurera Celery med en broker” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Django Academy, inklusive ”Konfigurera Celery med en broker”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Django Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Konfigurera Celery med en broker”?

Koppla Celery till Redis eller RabbitMQ Ni övar på Django Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Django Academy?

Du behöver inga förkunskaper. Utbildningen i Django Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Konfigurera Celery med en broker”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Django Academy-lektionen?

Ja. Varje Django Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Varför ni behöver bakgrundsjobb
  2. Konfigurera Celery med en broker
  3. Skriva och anropa @shared_task
  4. Schemalagda jobb med Celery Beat
← Tillbaka till Django Academy