Django-celery 安装及使用测试

简介:

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后台添中任务:

wKioL1c1uZeCtV6jAABEmCF2xL8908.png

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

相关文章
|
7天前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
157 84
|
3天前
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
21 6
|
8天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
49 7
|
3月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
90 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
4月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
91 18
|
3月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
1146 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
3月前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
43 0
|
5月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
250 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
4月前
|
安全 测试技术 Linux
CentOS7 安装vulhub漏洞测试环境
CentOS7 安装vulhub漏洞测试环境
156 0
|
4月前
|
Web App开发 Linux Python
linux上安装selenium环境及测试
该文章提供了在Linux CentOS上安装Selenium环境、Chrome浏览器及Chromedriver的详细步骤,并演示了如何以无头模式进行测试。
383 0

热门文章

最新文章