Sette opp Celery med en broker
Koble Celery til Redis eller RabbitMQ
Sette opp Celery med en broker er en gratis leksjon i Django Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Django Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Django Academy inneholder totalt 4 leksjoner.
Hva en broker er
Celery trenger en broker: en mellommann som holder kølagte oppgaver til en worker henter dem. Tenk på den som innboksen mellom appen og workerne.
Redis eller RabbitMQ
De to vanligste brokerne er Redis (enkel, rask og et godt standardvalg) og RabbitMQ (tyngre, men svært robust). For de fleste Django-apper er Redis mer enn nok. 📨
Installer pakkene
Start med å installere Celery og Redis-klienten, slik at Celery kan kommunisere med brokeren over nettverket.
pip install celery redisOpprett Celery-appen
Legg til en celery.py ved siden av settings.py. Den oppretter Celery-instansen og forteller den hvor Django-konfigurasjonen finnes.
import os
from celery import Celery
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
app = Celery("myproject")Les konfigurasjonen fra settings
La Celery bruke Django-settings, slik at alle alternativene ligger på ett sted, med navneprefikset CELERY.
app.config_from_object("django.conf:settings", namespace="CELERY")Finn oppgaver automatisk
Én linje ber Celery skanne alle installerte apper etter en tasks-modul, slik at De aldri trenger å registrere oppgaver manuelt.
app.autodiscover_tasks()Koble den inn i __init__
Importer Celery-appen i prosjektets __init__.py, slik at den lastes inn hver gang Django starter. Dette gjør den delte task-dekoratoren tilgjengelig.
from .celery import app as celery_app
__all__ = ("celery_app",)Angi broker-URL-en
I settings.py angir De CELERY_BROKER_URL til Redis-instansen som kjører, slik at produsenter og workere deler samme kø.
CELERY_BROKER_URL = "redis://localhost:6379/0"Legg til en result-backend
Hvis De vil lese task-resultater senere, angir De en result-backend. Redis kan brukes både som broker og resultatlager.
CELERY_RESULT_BACKEND = "redis://localhost:6379/0"Start en worker
Kjør worker-en fra en terminal. Den kobler seg til brokeren og venter på jobber. La Django-serveren kjøre i en separat terminal. 🛠️
celery -A myproject worker -l infoAlltid to prosesser
Husk: webserveren og worker-en er separate prosesser. Begge må kjøre for at bakgrunnsoppgaver faktisk skal utføres.
Rask kontroll
Hvilken oppgave har brokeren i et Celery-oppsett?
Oppsummering: Celery-oppsett
Installer Celery og en broker som Redis, opprett celery.py, angi broker-URL-en og kjør en worker i sin egen terminal. De er klare til å legge jobber i kø. ✅
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Sette opp Celery med en broker» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Django Academy, inkludert «Sette opp Celery med en broker», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Django Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Sette opp Celery med en broker»?
Koble Celery til Redis eller RabbitMQ Du øver på Django Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Django Academy?
Ingen tidligere erfaring er nødvendig. Django Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Sette opp Celery med en broker»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Django Academy-leksjonen?
Ja. Alle Django Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Hvorfor du trenger bakgrunnsoppgaver
- Sette opp Celery med en broker
- Skrive og kalle @shared_task
- Planlagte jobber med Celery Beat