Django Running Celery with Supervisor Celery Configuration



  1. Installation - pip install django-celery

  2. Add

  3. Basic project structure.

     - src/
       - bin/celery_worker_start # will be explained later on
       - logs/celery_worker.log
       - stack/__init
       - stack/
       - stack/
       - stack/
  4. Add file to your stack/stack/ folder.

     from __future__ import absolute_import
     import os
     from celery import Celery
     os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'stack.settings')
     from django.conf import settings  # noqa
     app = Celery('stack')
     app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
  5. to your stack/stack/ add following code:

     from __future__ import absolute_import
     from .celery import app as celery_app  # noqa
  6. Create a task and mark it for example as @shared_task()

     def add(x, y):
  7. Running celery worker "by hand":

    celery -A stack worker -l info if you also want to add