PK nCޒk' ' django-celery-2.5/searchindex.jsSearch.setIndex({objects:{"":{TASK_STATUSES:[2,2,1,""],TASK_STATUS_DONE:[2,2,1,""],PeriodicTaskMeta:[2,4,1,""],TASK_STATUS_PENDING:[2,2,1,""],TASK_STATUS_FAILURE:[2,2,1,""],TASK_STATUSES_CHOICES:[2,2,1,""],TaskMeta:[2,4,1,""],TASK_STATUS_RETRY:[2,2,1,""]},PeriodicTaskMeta:{total_run_count:[2,1,1,""],delay:[2,5,1,""],task:[2,1,1,""],last_run_at:[2,1,1,""],name:[2,1,1,""]},"djcelery.views":{task_webhook:[4,3,1,""],JsonResponse:[4,3,1,""],registered_tasks:[4,3,1,""],apply:[4,3,1,""],task_status:[4,3,1,""],task_view:[4,3,1,""],is_task_successful:[4,3,1,""]},djcelery:{app:[14,0,1,""],views:[4,0,1,""]},TaskMeta:{status:[2,1,1,""],task_id:[2,1,1,""],date_done:[2,1,1,""],result:[2,1,1,""]},"djcelery.app":{app:[14,2,1,""]}},terms:{all:[4,12],code:[4,16],skip:[12,20],i18n:[11,12],follow:[17,12,20,16],faster:16,barczyski:16,depend:16,demoproject:16,get_languag:12,send:17,generate_report:12,program:17,under:17,testcas:20,file:[17,16],sourc:17,everi:16,solem:16,celery_tasksetmeta:16,fals:16,faq:16,webhook:[17,4],util:[15,9,0,12,11],recip:1,level:16,did:16,list:[16,17,12,2],rabbitmq:17,"try":[17,12,20],adjust:20,stderr:16,superced:4,pleas:[17,4,12,16],periodictask:16,second:16,dev:20,download:17,haag:16,even:16,index:[17,11],lazili:16,eventlet:16,preserv:16,section:16,save_report_somewher:12,abl:20,"while":16,current:[16,2],delet:16,version:[17,16],"new":[17,16],metadata:[16,2],full:17,task_webhook:4,gener:[11,12],never:20,here:12,shouldn:4,task_nam:4,sinc:16,valu:[17,20,2],search:11,task_id:[4,2],anymor:16,larger:16,queue:[17,16],action:16,chang:[11,16,2],honor:16,via:[17,4,16],janni:16,modul:[17,11,16],prefer:4,put:20,api:[17,9,11],celerybeat:[17,16],fake:16,instal:[17,11,16],redi:17,total:2,unit:[11,1,20],djcelerymon_debug:16,from:[17,12,20,16],describ:[17,16],would:[12,16],memori:16,regist:2,upgrad:16,next:2,task_statuses_choic:2,camera:16,recommend:16,more:17,maypp:20,relat:16,asserttru:20,warn:16,olivi:16,templat:[11,12,16],broke:16,known:16,cach:[17,9,21,11],annoy:17,none:[12,14],join:17,setup:[17,16],work:[17,16],uniqu:2,jude:16,histori:[11,16],kwarg:16,can:[17,5,20,16],celery_always_eag:20,djcelery_:16,purpos:16,root:17,fetch:16,def:[4,12,20],control:16,sqlite:16,tar:17,give:16,process:16,share:16,accept:16,topic:20,caution:4,want:[17,12,16],occur:16,string:2,delai:[20,2],filter:12,thing:20,rather:[17,16],anoth:12,task_status_failur:2,celeryconfig:17,answer:12,instead:16,simpl:20,circular:16,camqadm:17,timedelta:16,clone:17,after:[16,2],befor:16,celeryd:[17,16],date:[9,16,2],celeryevcam:16,github:[17,5,12,16],celery_db_reuse_max:16,task_status_don:2,issu:[17,12,16],inform:17,preced:16,environ:16,south:[17,16],first:[5,16,8,11,17,20],retval:4,help:[17,11],move:[5,16],celeryproject:17,becaus:16,through:17,still:16,paramet:4,write:20,monitor:16,fix:16,prev_languag:12,better:20,pend:2,requir:16,exchang:16,mail:17,hidden:16,main:[17,5,16],alter:16,tri:16,them:17,"return":[4,20],greater:16,python:[17,16],auto:16,safe:4,dai:16,initi:16,cet:16,now:16,discuss:17,choic:2,somewher:20,name:2,changelog:16,edit:16,config:16,drop:16,mode:16,each:16,debug:16,updat:16,mean:[20,16],everyth:[17,16],replac:17,contrib:[9,3,16,20,11],connect:16,django:[16,5,11,8,12,1,17,9,20,2,14],test_runn:[11,16,12,9,20,3],happen:17,event:[9,16,11,7],special:17,out:2,variabl:16,assertequ:20,jackson:16,network:17,miss:16,newli:16,content:[11,4],cest:16,use_i18n:16,correct:20,common:[12,1],migrat:[17,16],reason:17,orm:17,dictionari:4,ask:[16,5,12,17,11],org:17,render_templ:12,thread:16,render_to_str:12,f90491fe0194aa472b5aecdefe5cc83289e65e69:12,celeryev:17,djceleryadm:16,recov:16,turn:4,outsid:16,charfield:16,timezon:16,top:17,frequent:[11,12],lambda:12,oper:16,softwar:17,christoph:16,onc:16,number:[16,2],alreadi:16,done:[12,20],stabl:16,installed_app:[17,12],open:16,differ:17,licens:[17,11],too:16,termin:16,"final":12,store:[17,16,2],schema:[17,16],option:16,broadcast:16,part:20,pars:16,textfield:16,than:[17,20,16],keyword:[17,4],provid:[17,20],routing_kei:16,project:[17,12,16],greg:16,greb:16,were:16,serj:16,seri:16,fork:16,runner:[11,16,12,1,9,20,3],arg:16,queryset:16,ani:[17,4,16],raw:16,expir:16,have:[17,20,16],tabl:[17,11,16],need:[17,12,20,16],seem:[11,12],"null":16,task_view:4,caus:16,techniqu:1,rout:20,note:[16,17,4,12,2],also:[17,16],without:[4,16],take:[12,20,16],indic:11,unittest2:16,channel:17,compat:16,sure:[12,16],taskstat:16,though:16,bst:16,who:[17,16],last_run_at:2,discov:16,celerycam_expire_pend:16,regular:17,deploi:17,bsd:17,task_status_pend:2,"class":[16,20,2],don:[17,12],url:[9,6,11],doc:20,request:4,doe:[20,16],snapshot:[9,16,11,7],databas:[11,16,9,10,20,2],celerytestsuiterunn:[12,20,16],gabe:16,jsonrespons:4,wsgi:17,show:[20,16],text:[17,16],syntax:16,find:[5,2],celeri:[16,5,11,17,12,1,9,18,20,2,14],access:4,onli:2,explicitli:12,locat:17,execut:[4,16,2],setup_load:[17,16],transact:16,configur:[17,16],activ:12,should:[16,17,12,2],celerycam_expire_success:16,databaseschedul:16,celeryctl:17,reset:[12,16],contribut:[17,11,16],date_don:2,get:[11,16,8,17,20,4],pypi:17,report:[17,12],restart:16,enabl:[17,12,20,16],celerybeat_schedul:16,patch:17,reload:16,integr:[17,11],contain:[17,4,1,2],where:16,view:[9,4,16,11],wiki:[17,11],set:[17,11,12,20,16],previou:[12,16],periodictaskmeta:2,task_status_retri:2,see:[17,16],result:[17,4,16,20,2],respons:4,fail:[11,12,2],close:16,urlconf:4,statu:[4,20,2],detect:16,correctli:16,pattern:12,djcelery_periodictask:16,particip:17,taskmeta:2,enough:20,won:20,"import":[17,12,20,16],irc:17,celerycam:16,task_statu:4,kei:4,djcelerymon:16,isol:16,autodiscoveri:17,job:17,come:17,problem:[20,16],addit:16,both:16,last:2,admin:16,etc:4,roman:16,tutori:17,context:12,mani:12,task_status:2,com:[17,5,12,20,16],nagurnei:16,load:16,schedul:[9,16,19,11],period:[9,16,11,19,2],loader:[16,9,18,12,11],total_run_count:2,respect:[11,12,16],poll:16,assum:20,duplic:16,due:16,been:[5,16,2],mark:16,test_app:12,json:4,xvfz:17,worker:16,argument:[16,4,12,2],"catch":4,those:[17,16],multi:[17,16],packag:[17,16],trick:20,defin:[4,20],invok:17,publicli:4,error:[4,20,16],fun:4,djceleri:[15,11,6,7,17,0,12,16,9,18,19,10,20,13,3,4,21,14],increment:2,advantag:20,stdout:16,registered_task:[4,16],myapp:20,around:20,decor:[4,12],develop:17,welcom:17,celerycam_expire_error:16,suggest:17,make:[4,12],testnoerror:20,same:[17,20],handl:16,instanc:[16,14],timestamp:16,document:[17,5,16,20,11],mod_wsgi:17,conflict:4,higher:16,status:2,http:[17,5,12,20,16],assist:16,databasebackend:16,rais:[4,2],user:[17,20,16],wherev:20,recent:16,task:[11,16,17,12,9,19,20,2,4],machineri:12,older:16,entri:16,well:16,exampl:[4,12,20,16],command:16,thi:[5,16,17,12,1,20,2,4],model:[9,16,11,2],self:20,latest:17,just:[12,20],less:16,kill:16,human:[15,9,11],mysql:16,yet:16,languag:12,web:17,easi:20,except:[17,4],eager:16,add:[17,4,12,20,16],blob:12,appli:4,app:[9,12,20,14,11],gmt:16,applic:[17,12,16],varchar:16,which:[16,20,2],format:4,read:[17,16],lavin:16,zavadski:16,guid:[17,20],recurs:16,daemon:20,like:[17,16],success:[4,20,2],anyth:20,manual:[17,16],html:[5,12,16],server:16,commit_manu:16,either:[17,12,20],lose:16,celery_:16,manag:[17,9,16,11,13],tombston:20,old:16,interv:16,some:[17,20,16],resolv:16,stufft:16,donald:16,gevent:16,syncdb:[17,16],successfulli:2,distribut:[17,16],txt:16,djangoproject:20,pet:12,avoid:20,normal:17,celery_taskmeta:16,retri:2,necessari:17,backend:[11,16,17,9,10,20,2,21],refer:[17,9,11],encourag:17,object:[4,16],run:[16,12,20,2],usag:[17,2],broker:16,step:[8,5,12,16,11],repositori:17,post:4,tabon:16,peev:12,expiri:16,react:16,about:17,postgresql:16,troubl:16,py25:16,page:[11,1],includ:[17,16],commit:16,disabl:16,own:20,within:4,easy_instal:17,automat:16,two:20,ensur:[4,16],your:[17,4,12,20,16],git:17,wai:20,support:16,question:[11,12],addtestcas:20,custom:[1,20],start:[8,11,17,16],interfac:16,tracker:[17,11,12],suit:[11,12],highli:17,"function":[4,16,2],properli:16,picklefield:16,form:2,tupl:2,leidel:16,celeryd_multi:17,translat:12,line:[17,16],"true":20,bug:[17,11,16],freenod:17,longer:16,count:2,possibl:2,"default":[12,16],app4:12,app3:12,app2:12,app1:12,asynchron:[17,4],below:[12,16],limit:16,otherwis:4,embed:16,enable_ev:16,taylor:16,creat:[17,16],"int":[4,16],doesn:[11,12,20,16],repres:16,"char":16,novemb:9,exist:16,chat:17,our:[17,12],pip:17,check:20,probabl:20,amqp:17,when:[16,4,12,20,2],field:[16,2],jona:16,other:[17,20],bool:16,futur:17,test:[11,16,12,1,9,20,3],you:[5,16,17,12,20,2,4],roll:20,repeat:16,registri:2,releas:[9,16],sql:16,execpt:2,haven:16,directori:17,is_task_success:4,descript:16,tinyint:16,ignor:16,time:[17,2],escap:16,cookbook:[11,1]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:data","3":"py:function","4":"py:class","5":"py:method"},titles:["Utilities - djcelery.utils","Cookbook","Django Models - celery.models","Contrib: Test Runner - djcelery.contrib.test_runner","Views - djcelery.views","First steps with Django","URLs - djcelery.urls","Event Snapshots - djcelery.snapshot","Getting Started","API Reference","Database Backend - djcelery.backends.database","Celery Integration for Django","Frequently Asked Questions","Managers - djcelery.managers","App - djcelery.app","Humanize utils - djcelery.humanize","Change history","django-celery - Celery Integration for Django","Celery Loaders - djcelery.loaders","Periodic Task Schedulers - djcelery.schedulers","Unit Testing","Cache Backend - djcelery.backends.cache"],objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","data","Python data"],"3":["py","function","Python function"],"4":["py","class","Python class"],"5":["py","method","Python method"]},filenames:["reference/djcelery.utils","cookbook/index","reference/djcelery.models","reference/djcelery.contrib.test_runner","reference/djcelery.views","getting-started/first-steps-with-django","reference/djcelery.urls","reference/djcelery.snapshot","getting-started/index","reference/index","reference/djcelery.backends.database","index","faq","reference/djcelery.managers","reference/djcelery.app","reference/djcelery.humanize","changelog","introduction","reference/djcelery.loaders","reference/djcelery.schedulers","cookbook/unit-testing","reference/djcelery.backends.cache"]})PK nCU " django-celery-2.5/py-modindex.html
Please activate JavaScript to enable the search functionality.
From here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.
release-date: | 2012-04-16 06:31 P.M BST |
---|
release-date: | 2012-04-13 06:16 P.M BST |
---|---|
by: | Ask Solem |
2.5.2 release broke installation because of an import in the package.
Fixed by not having setup.py import the djcelery module anymore, but rather parsing the package file for metadata.
release-date: | 2012-04-13 05:00 P.M BST |
---|---|
by: | Ask Solem |
PeriodicTask admin now lists the enabled field in the list view
Contributed by Gabe Jackson.
Fixed a compatibility issue with Django < 1.3
Fix contributed by Roman Barczyski
Admin monitor now properly escapes args and kwargs.
Fix contributed by Serj Zavadsky
PeriodicTask admin now gives error if no schedule set (or both set) (Issue #126).
examples/demoproject has been updated to use the Django 1.4 template.
Database connection is no longer closed for eager tasks (Issue #116).
Fix contributed by Mark Lavin.
The first-steps document for django-celery has been moved to the main Celery documentation.
djcelerymon command no longer worked properly, this has now been fixed (Issue #123).
release-date: | 2012-03-01 01:00 P.M GMT |
---|---|
by: | Ask Solem |
Now depends on Celery 2.5.1
Fixed problem with recursive imports when USE_I18N was enabled (Issue #109).
The CELERY_DB_REUSE_MAX setting was not honored.
The djcelerymon command no longer runs with DEBUG.
To enable debug you can set the DJCELERYMON_DEBUG environment variable.
Fixed eventlet/gevent compatability with Django 1.4’s new thread sharing detection.
Now depends on django-picklefield 0.2.0 or greater.
Previous versions would not work correctly with Django 1.4.
release-date: | 2012-02-24 02:00 P.M GMT |
---|---|
by: | Ask Solem |
Now depends on Celery 2.5.
Database schema has been updated.
After upgrading you need migrate using South, or migrate manually as described below.
These changes means that expiring results will be faster and take less memory than before.
In addition a description field to the PeriodicTask model has been added so that the purpose of a periodic task in the database can be documented via the Admin interface.
South Migration
To migrate using South execute the following command:
$ python manage.py migrate djceleryIf this is a new project that is also using South then you need to fake the migration:
$ python manage.y migrate djcelery –fake
Manual Migration
To manually add the new fields,
using PostgreSQL:
using MySQL:
ALTER TABLE celery_taskmeta ADD hidden TINYINT NOT NULL DEFAULT 0; ALTER TABLE celery_tasksetmeta ADD hidden TINYINT NOT NULL DEFAULT 0; ALTER TABLE djcelery_periodictask ADD description TEXT NOT NULL DEFAULT "";using SQLite:
ALTER TABLE celery_taskmeta ADD hidden BOOL NOT NULL DEFAULT FALSE; ALTER TABLE celery_tasksetmeta ADD hidden BOOL NOT NULL DEFAULT FALSE; ALTER TABLE djcelery_periodictask ADD description VARCHAR(200) NOT NULL DEFAULT "";
Auto-discovered task modules now works with the new auto-reloader functionality.
The database periodic task scheduler now tried to recover from operational database errors.
The periodic task schedule entry now accepts both int and timedelta (Issue #100).
‘Connection already closed’ errors occurring while closing the database connection are now ignored (Issue #93).
The djcelerymon command used to start a Django admin monitor instance outside of Django projects now starts without a celery config module.
Should now work with Django 1.4’s new timezone support.
Contributed by Jannis Leidel and Donald Stufft.
South migrations did not work properly.
Fix contributed by Christopher Grebs.
celeryd-multi now preserves django-related arguments, like --settings (Issue #94).
Migrations now work with Django < 1.3 (Issue #92).
Fix contributed by Jude Nagurney.
The expiry of the database result backend can now be an int (Issue #84).
release-date: | 2011-11-14 12:00 P.M GMT |
---|
Fixed syntax error in South migrations code (Issue #88).
Fix contributed by Olivier Tabone.
release-date: | 2011-11-07 06:00 P.M GMT |
---|---|
by: | Ask Solem |
release-date: | 2011-11-04 04:00 P.M GMT |
---|---|
by: | Ask Solem |
This release adds South migrations, which well assist users in automatically updating their database schemas with each django-celery release.
Now depends on Celery 2.4.0 or higher.
South migrations have been added.
Migration 0001 is a snapshot from the previous stable release (2.3.3). For those who do not use South, no action is required. South users will want to read the Upgrading for south users section below.
Contributed by Greg Taylor.
Test runner now compatible with Django 1.4.
Test runners are now classes instead of functions, so you have to change the TEST_RUNNER setting to read:
TEST_RUNNER = "djcelery.contrib.test_runner.CeleryTestSuiteRunner"Contributed by Jonas Haag.
For those that are already using django-celery 2.3.x, you’ll need to fake the newly added migration 0001, since your database already has the current djcelery_* and celery_* tables:
$ python manage.py migrate djcelery 0001 --fake
If you’re upgrading from the 2.2.x series, you’ll want to drop/reset your celery_* and djcelery_* tables and run the migration:
$ python manage.py migrate djcelery
release-date: | 2011-08-22 12:00 AM BST |
---|
release-date: | 2011-08-11 12:00 PM BST |
---|
Django database result backend tables were not created.
If you are having troubles because of this, be sure you do a syncdb after upgrading, that should resolve the issue.
release-date: | 2011-08-05 12:00 PM BST |
---|
Now depends on Celery 2.3.0
Please read the Celery 2.3.0 changelog!
celerybeat: DatabaseScheduler would not react to changes when using MySQL and the default transaction isolation level REPEATABLE-READ (Issue #41).
It is still recommended that you use isolation level READ-COMMITTED (see the Celery FAQ).
release-date: | 2011-02-12 16:00 PM CET |
---|
release-date: | 2011-02-03 16:00 PM CET |
---|
release-date: | 2011-02-01 10:00 AM CET |
---|
release-date: | 2010-10-14 02:00 PM CEST |
---|
Now depends on Celery v2.1.1.
Snapshots: Fixed bug with losing events.
Snapshots: Limited the number of worker timestamp updates to once every second.
Snapshot: Handle transaction manually and commit every 100 task updates.
snapshots: Can now configure when to expire task events.
New settings:
- CELERYCAM_EXPIRE_SUCCESS (default 1 day),
- CELERYCAM_EXPIRE_ERROR (default 3 days), and
- CELERYCAM_EXPIRE_PENDING (default 5 days).
Snapshots: TaskState.args and TaskState.kwargs are now represented as TextField instead of CharField.
If you need to represent arguments larger than 200 chars you have to migrate the table.
transaction.commit_manually doesn’t accept arguments on older Django version.
Should now work with Django versions previous to v1.2.
The tests doesn’t need unittest2 anymore if running on Python 2.7.
release-date: | 2010-10-08 12:00 PM CEST |
---|
This release depends on Celery version 2.1.0. Be sure to read the Celery changelog before you upgrade: http://ask.github.com/celery/changelog.html#version-2-1-0
The periodic task schedule can now be stored in the database and edited via the Django Admin interface.
To use the new database schedule you need to start celerybeat with the following argument:
$ python manage.py celerybeat -S djcelery.schedulers.DatabaseSchedulerNote that you need to add your old periodic tasks to the database manually (using the Django admin interface for example).
New Celery monitor for the Django Admin interface.
To start monitoring your workers you have to start your workers in event mode:
$ python manage.py celeryd -E(you can do this without restarting the server too:
>>> from celery.task.control import broadcast >>> broadcast("enable_events")You need to do a syncdb to create the new tables:
python manage.py syncdb
Then you need to start the snapshot camera:
$ python manage.py celerycam -f 2.0This will take a snapshot of the events every 2 seconds and store it in the database.
Due to some applications loading the Django models lazily, it is recommended that you add the following lines to your settings.py:
import djcelery
djcelery.setup_loader()
This will ensure the Django celery loader is set even though the
model modules haven't been imported yet.
|
Answer: To enable the Django translation machinery you need to activate it with a language. Note: Be sure to reset to the previous language when done.
>>> from django.utils import translation
>>> prev_language = translation.get_language()
>>> translation.activate(language)
>>> try:
... render_template()
... finally:
translation.activate(prev_language)
The common pattern here would be for the task to take a language argument:
from celery.decorators import task
from django.utils import translation
from django.template.loader import render_to_string
@task()
def generate_report(template="report.html", language=None):
prev_language = translation.get_language()
language and translation.activate(language)
try:
report = render_to_string(template)
finally:
translation.activate(prev_language)
save_report_somewhere(report)
Answer: If you’re running tests from your Django project, and the celery test suite is failing in that context, then follow the steps below. If the celery tests are failing in another context, please report an issue to our issue tracker at GitHub:
That Django is running tests for all applications in INSTALLED_APPS by default is a pet peeve for many. You should use a test runner that either
- Explicitly lists the apps you want to run tests for, or
- Make a test runner that skips tests for apps you don’t want to run.
For example the test runner that celery is using:
To use this test runner, add the following to your settings.py:
TEST_RUNNER = "djcelery.tests.runners.CeleryTestSuiteRunner",
TEST_APPS = (
"app1",
"app2",
"app3",
"app4",
)
Or, if you just want to skip the celery tests:
INSTALLED_APPS = (.....)
TEST_RUNNER = "djcelery.tests.runners.CeleryTestSuiteRunner",
TEST_APPS = filter(lambda k: k != "celery", INSTALLED_APPS)
Version: | 2.5.5 |
---|---|
Web: | http://celeryproject.org/ |
Download: | http://pypi.python.org/pypi/django-celery/ |
Source: | http://github.com/ask/django-celery/ |
Keywords: | celery, task queue, job queue, asynchronous, rabbitmq, amqp, redis, python, django, webhooks, queue, distributed |
–
django-celery provides Celery integration for Django; Using the Django ORM and cache backend for storing results, autodiscovery of task modules for applications listed in INSTALLED_APPS, and more.
To enable django-celery for your project you need to add djcelery to INSTALLED_APPS:
INSTALLED_APPS += ("djcelery", )
then add the following lines to your settings.py:
import djcelery
djcelery.setup_loader()
Everything works the same as described in the Celery User Manual, except you need to invoke the programs through manage.py:
Program | Replace with |
---|---|
celeryd | python manage.py celeryd |
celeryctl | python manage.py celeryctl |
celerybeat | python manage.py celerybeat |
camqadm | python manage.py camqadm |
celeryev | python manage.py celeryev |
celeryd-multi | python manage.py celeryd_multi |
The other main difference is that configuration values are stored in your Django projects’ settings.py module rather than in celeryconfig.py.
If you’re trying celery for the first time you should start by reading Getting started with django-celery
If you’re using mod_wsgi to deploy your Django application you need to include the following in your .wsgi module:
import djcelery
djcelery.setup_loader()
The Celery User Manual contains user guides, tutorials and an API reference. Also the django-celery documentation, contains information about the Django integration.
You can install django-celery either via the Python Package Index (PyPI) or from source.
To install using pip,:
$ pip install django-celery
To install using easy_install,:
$ easy_install django-celery
You will then want to create the necessary tables. If you are using south for schema migrations, you’ll want to:
$ python manage.py migrate djcelery
For those who are not using south, a normal syncdb will work:
$ python manage.py syncdb
Download the latest version of django-celery from http://pypi.python.org/pypi/django-celery/
You can install it by doing the following,:
$ tar xvfz django-celery-0.0.0.tar.gz
$ cd django-celery-0.0.0
# python setup.py install # as root
You can clone the git repository by doing the following:
$ git clone git://github.com/ask/django-celery.git
For discussions about the usage, development, and future of celery, please join the celery-users mailing list.
If you have any suggestions, bug reports or annoyances please report them to our issue tracker at http://github.com/ask/django-celery/issues/
Development of django-celery happens at Github: http://github.com/ask/django-celery
You are highly encouraged to participate in the development. If you don’t like Github (for some reason) you’re welcome to send regular patches.