Install celery, django, django-celery, reids
Django settings.py
1 2 3 4 5
| INSTALLED_APPS = ( ... 'djcelery', 'app1', )
|
1 2 3 4 5
| import djcelery djcelery.setup_loader()
BROKER_URL = 'redis://127.0.0.1:6379/0' CELERY_IMPORTS = ('app1.task')
|
Create task.py in app1 folder
1 2 3 4 5 6 7 8 9
| import time from celery import task
@task def sendmail(mail): print('sending mail to %s...' % mail['to']) time.sleep(2.0) print('mail sent.') return mail['to']
|
Run Redis
or running redis in backend
Run celery worker
1
| python manage.py celery worker --loglevel=info -c 4
|
or running in backend
1
| nohup python manage.py celery worker --loglevel=info -c 4
|
Add celery in supervisor
In supervisor config file
1 2 3 4 5 6 7
| [program:celery] command=python manage.py celery worker -c 4 --loglevel=info directory=/data/integratedmanagement/ user=lanshi redirect_stderr=true autostart=true stdout_logfile=/tmp/youjian_celery.log
|