Setting Celery on Django

Muhamad Anjar
Apr 22, 2022

## Install Celery

pip install celery

Buat File celery.py dengan lokasi yang sama dengan tempat setting.py

from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'nolsatu_courses.settings')

""" mengambil setting redis """
BASE_REDIS_URL = os.environ.get('REDIS_URL', 'redis://localhost:6379')

app = Celery('nolsatu_courses')
app.config_from_object('django.conf:settings', namespace='CELERY')
# Looks up for task modules in Django applications and loads them
app.autodiscover_tasks()

""" setting pengaturan broker """
app.conf.broker_url = BASE_REDIS_URL


@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))

Edit file __init__.py

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app

__all__ = ('celery_app',)

Buat File Task pada setiap folder app karena task.py selain di folder app tidak akan terdeteksi oleh worker

from celery import shared_task


@shared_task
def testing_method():
print("testing method task")

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Muhamad Anjar
Muhamad Anjar

Written by Muhamad Anjar

Programmer biasa aja, ga jago jago banget dan ga bego bego banget

No responses yet

Write a response