Konfigurera Celery med en broker
Koppla Celery till Redis eller RabbitMQ
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 redisSkapa 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 infoAlltid 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. ✅
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
- Varför ni behöver bakgrundsjobb
- Konfigurera Celery med en broker
- Skriva och anropa @shared_task
- Schemalagda jobb med Celery Beat