celery英文官方网站:www.celeryproject.org
中文网站:http://docs.jinkan.org/docs/celery/
Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具。
专注于实时处理的任务队列,同时也支持任务调度。
作用:
用celery定时执行
操作:
安装包
pip install celery
pip install celery-with-redis
pip install django-celery
配置settings
将djcelery包加入到INSTALLED_APPS中
并添加以下代码:
import djcelery
djcelery.setup_loader() # 初始化所有的task
BROKER_URL = 'redis://127.0.0.1:6379/0' # 把所有的任务放在queue中,默认用0这个数据库
CELERY_IMPORTS = ('test1.task') # 在test1这个应用下使用任务
在test1应用目录下创建task.pty文件
import time
from celery import task
@task
def show():
print('hello...')
time.sleep(5)
print('world...')
迁移,生成celery需要的数据表
此时不需要生成迁移,直接进行迁移
python manage.py migrate
启动redis
sudo redis-server /etc/redis/redis.conf
启动worker
python manage.py celery worker --loglevel=info
定义视图,调用task
函数名.delay([参数])
from task import *
def celeryTest(request):
show.delay()
return HttpResponse('ok')
配置url
url(r'^celerytest/$', views.celeryTest),