博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django-celery 安装及使用测试
阅读量:7012 次
发布时间:2019-06-28

本文共 1750 字,大约阅读时间需要 5 分钟。

Celery为Django提供后台执行以及定时执行功能。

一、安装:

1、安装依懒包:

1
2
3
tar 
xvf kombu-3.0.35.
tar
.gz 
cd 
kombu-3.0.35
/usr/local/python27/bin/python 
setup.py 
install
1
2
3
tar 
xvf billiard-3.3.0.23.
tar
.gz
cd 
billiard-3.3.0.23
/usr/local/python27/bin/python 
setup.py 
install

2、安装django-celery:

1
2
3
tar 
xvf django-celery-3.1.17.
tar
.gz
cd 
django-celery-3.1.17
/usr/local/python27/bin/python 
setup.py 
install

二、配置整合Django:

settings 添加配置:

1
2
3
4
5
import 
djcelery
 
djcelery.setup_loader()
BROKER_URL = 
'django://'
CELERYBEAT_SCHEDULER = 
'djcelery.schedulers.DatabaseScheduler'

installed_apps添加djcelery,kombu.transport.django

1
2
3
4
5
6
7
8
9
10
11
12
13
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文件:

1
2
3
4
5
from 
celery 
import 
task
 
@task
()
def 
add(x, y):
    
return 
+ 
y

四、启动进程

在manage.py中加入:

1
2
import 
django
django.setup()

不加的话celery执行task时会报错

1
python manage.py celery worker --loglevel=info

五、测试:

1
2
3
python manage.py shell    
>>> from myapp.tasks 
import 
add    
>>> add.delay(2, 2)

六、测试定时任务:

启动celerybeat:

1
python manage.py celery beat

在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 中执行

暂时测试到这里!

本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/1773158如需转载请自行联系原作者

lihuipeng

你可能感兴趣的文章
vue踩坑记- Cannot find module 'wrappy'
查看>>
【实操干货】KVM命令管理虚拟机与性能优化
查看>>
机器学习资料合计(一)
查看>>
webpack由浅入深——(webapck简易版)
查看>>
2 - 建立 Django 博客应用
查看>>
【iOS报错】“this class is not key value coding-compliant for the key userPhoneNum”给字典设置键值对的时候报错...
查看>>
UI技术总结--性能优化
查看>>
Android NDK JNI 开发之旅01 环境搭建入门篇
查看>>
Javascript之迭代器模式
查看>>
Flutter花式玩转TextField,写一个验证码输入框超简单!
查看>>
RxJava应用:实现七牛云多图上传
查看>>
Tmux入门教程
查看>>
智能直播审核方案:视频云智能业务截帧策略
查看>>
亲历者说:Kubernetes API 与 Operator,不为人知的开发者战争
查看>>
[ARKit]10-3D模型怎么制作,哪里寻找,如何使用?
查看>>
Kotlin结合DataBinding简单封装一个RecyclerView的Adapter
查看>>
Android爬坑之旅之不易发现的BUG
查看>>
数值计算 插值与拟合
查看>>
支付与签名原串的那些事,但选择排序生成签名原串
查看>>
koa2开发微信公众号: 不定期推送最新币圈消息
查看>>