Django-celery 安装及使用测试
Celery为Django提供后台执行以及定时执行功能。
一、安装:
1、安装依懒包:
tarxvfkombu-3.0.35.tar.gzcdkombu-3.0.35/usr/local/python27/bin/pythonsetup.pyinstall
tarxvfbilliard-3.3.0.23.tar.gzcdbilliard-3.3.0.23/usr/local/python27/bin/pythonsetup.pyinstall
2、安装django-celery:
tarxvfdjango-celery-3.1.17.tar.gzcddjango-celery-3.1.17/usr/local/python27/bin/pythonsetup.pyinstall
二、配置整合Django:
settings 添加配置:
importdjcelerydjcelery.setup_loader()BROKER_URL='django://'CELERYBEAT_SCHEDULER='djcelery.schedulers.DatabaseScheduler'
installed_apps添加djcelery,kombu.transport.django
INSTALLED_APPS=('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','DjangoUeditor','django_jinja','djcelery','kombu.transport.django','TestCelery',)
三、创建task
新建App:TestCelery,在该App下新建tasks.py文件:
fromceleryimporttask@task()defadd(x,y):returnx+y
四、启动进程
在manage.py中加入:
importdjangodjango.setup()
不加的话celery执行task时会报错
pythonmanage.pyceleryworker--loglevel=info
五、测试:
pythonmanage.pyshell>>>frommyapp.tasksimportadd>>>add.delay(2,2)
六、测试定时任务:
启动celerybeat:
pythonmanage.pycelerybeat
在django admin后台添中任务:
Name: 这一定期任务的注册名
Task (registered): 可以选择所有已经注册的task之一, 例如前面的add function
Task (custom): task的全名, 例如myapp.tasks.add, 但最好还是用以上项
Enabled: 是否开启这一定期任务
Interval: 定期任务的间隔时间, 例如每隔5分钟
Crontab: 如果希望task在某一特定时间运行, 则使用Unix中的Crontab代替interval
Arguments: 用于传参数到task中
Execution Options: 更高级的设置, 在此不详细说明, 请查看celery官方文档
celerybeat会把task发送到celery worker 中执行
暂时测试到这里!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。