45
I need to run background tasks in Django. How do I set up Celery?
Loading...
Q&A · Answered
I need to run background tasks in Django. How do I set up Celery?
Accepted answer
# celery.py in project folder
from celery import Celery
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
app = Celery('myproject')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
# settings.py
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
# tasks.py
from celery import shared_task
@shared_task
def send_email_async(user_id):
# Send email logic
pass
# Usage
send_email_async.delay(user_id)Say what you tried, not only what worked — the next person needs the reasoning. Code goes in a fenced block.