Skip to content

nawarkhede/celery-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

celery-demo

source : https://www.caktusgroup.com/blog/2014/06/23/scheduling-tasks-celery/

How to get started with django and celery ?

create virtualenv and activate it and install the following stuff,

pip install django
pip install django-celery

create django project add following apps to INSTALLED_APPS

'djcelery',
'kombu.transport.django',

djcelery is always needed. kombu.transport.django is the Django-based broker, for use mainly during development.

add followoing code to settings.py

import djcelery
djcelery.setup_loader()
BROKER_URL = 'django://'

The first two lines are always needed. Line 3 configures Celery to use its Django broker. Important: Never use the Django broker in production. We are only using it here to save time in this tutorial.
In production you'll want to use RabbitMQ, or maybe Redis.

And also add this line to settings.py,

CELERY_IMPORTS=("demo.tasks")

now create tables,

python manage.py migrate

create new file in demo folder as task.py and add following code to it,

from celery import task
@task()
  def add(x, y):
  return x + y

open another terminal and execute following line (*) ,

python manage.py celery worker --loglevel=info

keep it running.

open django shell and try the following code,

(env1)➜  demo  ./manage.py shell   
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from demo.tasks import add
>>> add.delay(1,4)
<AsyncResult: 8e1bb123-d7bf-4b57-9974-00f9fb5c444e>
>>> add.delay(1,4)
<AsyncResult: e9405e8a-66b5-4e5f-9662-38abb2118bd3>
>>> 

you can see task executed in first terminal (*) as,

[2015-10-16 08:17:54,261: INFO/MainProcess] Received task: demo.tasks.add[e9405e8a-66b5-4e5f-9662-38abb2118bd3]

[2015-10-16 08:17:54,372: INFO/MainProcess] Task demo.tasks.add[e9405e8a-66b5-4e5f-9662-38abb2118bd3] succeeded in 0.109354613s: 5

Done

About

How to get started with django and celery ?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages