Configurare Celery con un broker
Collegare Celery a Redis o RabbitMQ
Configurare Celery con un broker è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.
Cos'è un broker
Celery necessita di un broker: un intermediario che conserva i task accodati finché un worker non li preleva. Lo si può considerare come la casella di posta tra l'applicazione e i worker.
Redis o RabbitMQ
I due broker più comuni sono Redis (semplice, veloce e un'ottima scelta predefinita) e RabbitMQ (più pesante, ma molto robusto). Per la maggior parte delle app Django, Redis è più che sufficiente. 📨
Installare i pacchetti
Inizi installando Celery e il client Redis, così Celery può comunicare in rete con il broker.
pip install celery redisCreare l'app Celery
Aggiunga un file celery.py accanto a settings.py. Il file crea l'istanza Celery e le indica dove trovare la configurazione Django.
import os
from celery import Celery
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
app = Celery("myproject")Leggere la configurazione dalle impostazioni
Indichi a Celery di usare le impostazioni Django, così tutte le opzioni si trovano in un unico punto, con il prefisso CELERY.
app.config_from_object("django.conf:settings", namespace="CELERY")Individuare automaticamente i task
Una riga indica a Celery di cercare un modulo tasks in ogni app installata, così non dovrà mai registrare manualmente i task.
app.autodiscover_tasks()Collegarlo in __init__
Nel file __init__.py del progetto, importi l'app Celery affinché venga caricata ogni volta che Django si avvia. In questo modo il decorator per i task condivisi funziona.
from .celery import app as celery_app
__all__ = ("celery_app",)Impostare l'URL del broker
In settings.py, imposti CELERY_BROKER_URL sull'istanza Redis in esecuzione, così producer e worker condividono la stessa coda.
CELERY_BROKER_URL = "redis://localhost:6379/0"Aggiungere un result backend
Se desidera leggere in seguito i risultati dei task, imposti un result backend. Redis può svolgere entrambe le funzioni: broker e archivio dei risultati.
CELERY_RESULT_BACKEND = "redis://localhost:6379/0"Avviare un worker
Esegua il worker da un terminale. Si connetterà al broker e attenderà i lavori. Mantenga il server Django in esecuzione in un terminale separato. 🛠️
celery -A myproject worker -l infoSempre due processi
Ricordi: il server web e il worker sono processi separati. Entrambi devono essere in esecuzione affinché i task in background vengano effettivamente eseguiti.
Verifica rapida
Qual è il compito del broker in una configurazione Celery?
Riepilogo: configurazione di Celery
Installi Celery e un broker come Redis, crei celery.py, imposti l'URL del broker ed esegua un worker nel suo terminale. Ora è pronto per accodare i task. ✅
Domande Frequenti
La lezione «Configurare Celery con un broker» è gratuita?
Sì — il testo completo di «Configurare Celery con un broker» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.
Cosa imparerò in «Configurare Celery con un broker»?
Collegare Celery a Redis o RabbitMQ Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Django Academy?
Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Configurare Celery con un broker»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Django Academy?
Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Perché servono i task in background
- Configurare Celery con un broker
- Scrivere e chiamare @shared_task
- Job pianificati con Celery Beat