Celery koppelen aan de app factory
Configureer een broker en de Celery-app.
Celery koppelen aan de app factory is een gratis Flask Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Flask Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Flask Academy bevat in totaal 4 lessen.
Drie onderdelen om te koppelen
Om Celery uit te voeren heb je drie dingen nodig: de URL van de broker, een backend voor resultaten en een Celery-appobject waartoe je taken behoren.
Kies een broker
Redis is de eenvoudigste broker om mee te beginnen. Je verwijst Celery er met een URL naartoe, zodat het weet waar taken naartoe moeten en vandaan komen.
broker_url = "redis://localhost:6379/0"Voeg een backend voor resultaten toe
Als je taakresultaten later wilt lezen, stel je een backend voor resultaten in. Redis werkt in ontwikkeling prima voor zowel broker als backend.
result_backend = "redis://localhost:6379/1"Het Celery-appobject
Celery draait om één instantie van Celery(). Taken worden daarop geregistreerd en workers laden die instantie om te weten wat ze moeten uitvoeren.
from celery import Celery
celery = Celery(__name__)Waarom de factory belangrijk is
In het app-factorypatroon wordt de configuratie geladen binnen create_app. Celery moet de broker-URL uit diezelfde configuratie halen, niet uit hardgecodeerde waarden.
Lees de configuratie uit Flask
Sla CELERY-instellingen op in je Flask-configuratie, zodat ontwikkeling, testen en productie kunnen verschillen. Maak Celery vervolgens binnen de factory op basis van app.config.
app.config["CELERY_BROKER_URL"] = "redis://localhost:6379/0"Een make_celery-helper
Een veelgebruikt patroon is een functie make_celery(app) die app.config leest en een geconfigureerde Celery-instantie retourneert.
def make_celery(app):
c = Celery(app.import_name)
c.conf.update(app.config)
return cTaken hebben app-context nodig
Taken werken vaak met de database of current_app, waarvoor een app-context nodig is. Zonder die context mislukken deze aanroepen wanneer de worker draait.
Breid de Task-basis uit
De klassieke oplossing verpakt elke taak zo dat er vóór de uitvoering een app-context wordt geopend. Zo kunnen taken Flask-extensies veilig gebruiken.
Twee processen, één configuratie
Het webproces en de worker zijn afzonderlijk, maar beide bouwen Celery op basis van dezelfde configuratie, zodat ze dezelfde broker en backend gebruiken.
Start een worker
Je start workers vanaf de opdrachtregel en verwijst daarbij naar je Celery-instantie. Daarna luisteren ze via de broker naar taken.
celery -A app.celery worker --loglevel=infoKorte controle
Taken gebruiken vaak de database.
Samenvatting
Stel een broker en backend in, bouw binnen create_app een Celery op basis van app.config en open een app-context zodat taken Flask kunnen gebruiken. ✅
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Celery koppelen aan de app factory” gratis?
Ja — de volledige tekst van “Celery koppelen aan de app factory” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Flask Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Flask Academy bevat in totaal 4 lessen.
Wat leer ik in “Celery koppelen aan de app factory”?
Configureer een broker en de Celery-app. Je oefent met Flask Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Flask Academy te beginnen?
Ervaring vooraf is niet nodig. Flask Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Celery koppelen aan de app factory”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Flask Academy?
Ja. Elke les over Flask Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Waarom werk buiten het request uitvoeren
- Celery koppelen aan de app factory
- Een task definiëren en aanroepen
- Resultaten volgen en fouten afhandelen