python3中celery异步框架简单使用+守护进程方式启动


Posted in Python onJanuary 20, 2021

安装celery

sudo pip install celery

实例化 celery

from celery import Celery
app = Celery("testapp")
# 导入配置
app.config_from_object('celery_tasks.config')
 
# 自动添加任务
app.autodiscover_tasks(["celery_tasks.test","celery_tasks.test2"])

简单配置

# 任务队列的地址
broker_url = "redis://127.0.0.1/14"
# 任务处理结果的保存地址[如果不需要接收任务处理结果,那么,可以不设置下面]
result_backend = "redis://127.0.0.1/15"

文件目录如下

.
├── config.py
├── main.py
├── test
│  └── tasks.py
└── test2
  ├── __init__.py
  └── tasks.py

一个应用一个文件夹

异步任务的文件名必须是tasks.py

在需要执行该任务的地方导入该任务

from celery_tasks.test.tasks import test
from celery_tasks.test2.tasks import test as test2
 
test_id = test.delay()
test2_id = test2.delay()
 
print(test_id)
print(test2_id)

调用该异步任务会马上放回一个id,执行结果可以在result_backend中通过id找到

/home/python/.virtualenvs/kol_site_py3/bin/python /home/python/projects/supervisor/supervisor/celery_tasks/test.py
a6e13745-c05b-496d-bbbe-2b636f84009c
d92d50b4-0ba1-4b05-9e96-eeb92a854929
 
Process finished with exit code 0
127.0.0.1:6379[15]> keys *
 1) "celery-task-meta-2a9c0a4b-5b40-4121-9986-a8430fc6b235"
 2) "celery-task-meta-0f16e227-393f-48ea-b41b-3419df84528e"
 3) "celery-task-meta-fbf31a20-6eee-4298-8a91-214d2e5c9399"
 4) "celery-task-meta-61f012c0-bde1-4344-9e1c-b5e8a7b93902"
 5) "celery-task-meta-074a659f-d76f-4818-8516-f098d1b900ed"
 6) "celery-task-meta-8a89c4db-f2e2-484b-94ee-e1af9911c69f"
 7) "celery-task-meta-0012966d-e8fd-483b-b8ac-d160d65c8221"
 8) "celery-task-meta-f97a452d-3812-4950-bfd9-02ff9e69a4b2"
 9) "celery-task-meta-4bebe710-7725-43f5-b0f7-9a35b57ba3b1"
10) "celery-task-meta-4b1cca23-31c3-4c82-a99f-bbe306846191"
11) "celery-task-meta-4cdf3a68-7df4-4bdf-8f54-abe6be83df3a"
12) "celery-task-meta-d92d50b4-0ba1-4b05-9e96-eeb92a854929"
13) "celery-task-meta-17265693-ba36-4f6c-80c8-d89a52f549f7"
14) "celery-task-meta-d62bbf16-6469-40a7-bc25-61b553014d76"
15) "celery-task-meta-4cca0f47-2f2d-45e6-8341-52264e50d969"
16) "celery-task-meta-1fd1e52a-00e1-486a-a224-36bd0fbb5d4a"
17) "celery-task-meta-af3b9536-91a6-4ae3-ab9b-59755bfb4883"
18) "celery-task-meta-b5710e2a-1905-44fd-8b11-4d7057113291"
19) "celery-task-meta-bebeb902-cce1-4edb-bdac-734ed6dc16ae"
20) "celery-task-meta-2771b961-694f-4727-9b19-07928834475e"
21) "celery-task-meta-8c683476-5cec-4933-8370-73793d656e23"
22) "celery-task-meta-6c8e6763-a416-4c02-9689-a0bb38bf26a6"
23) "celery-task-meta-7a4edb71-b13b-4f0f-b882-408716bb3ba9"
24) "celery-task-meta-4e368ca3-f686-4215-aed7-f0c6463cfac9"
25) "celery-task-meta-757f196d-c377-4f38-982d-700fa4f45c6b"
26) "celery-task-meta-094ea32e-5cf8-41c5-bf63-fb629e0e1e67"
27) "celery-task-meta-2e1f2188-0806-41f1-8eb8-4a0f73ec2aca"
28) "celery-task-meta-fd7e8fea-c738-4d49-b13d-c5d782eeaa96"
29) "celery-task-meta-e476f036-7192-4687-b9b7-c6a06556b4c3"
30) "celery-task-meta-2463c15f-5903-4381-8646-1b2aa6418ca0"
31) "celery-task-meta-a6e13745-c05b-496d-bbbe-2b636f84009c"
32) "celery-task-meta-f4f2d940-3e16-4d78-a0c4-3766eb91c908"
33) "celery-task-meta-5a1eaba8-0675-4e82-aedc-fee801ff31ef"
127.0.0.1:6379[15]>

启动celery的方法

# 最终在终端运行这个main文件
celery -A 应用包名 worker -l info
 
# 我们当前项目,在后端项目根目录下运行
celery -A celery_tasks.main worker -l info
# 守护进程
celery multi start w1 -A celery_tasks.main -l info --logfile=./celerylog.log
# 停止和重启 分别将 start 改为 stop / restart

守护进程的另一种方式,使用supervisor,这是一个管理进程的工具,这种启动方式就是用supervisor接管celery。

到此这篇关于python3中celery异步框架简单使用+守护进程方式启动的文章就介绍到这了,更多相关python3 celery异步使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
理解python多线程(python多线程简明教程)
Jun 09 Python
用python 制作图片转pdf工具
Jan 30 Python
python遍历类中所有成员的方法
Mar 18 Python
关于Python中浮点数精度处理的技巧总结
Aug 10 Python
PyQt5每天必学之组合框
Apr 20 Python
python语音识别实践之百度语音API
Aug 30 Python
python实现dijkstra最短路由算法
Jan 17 Python
python实现对象列表根据某个属性排序的方法详解
Jun 11 Python
Django框架创建mysql连接与使用示例
Jul 29 Python
pytorch 模型可视化的例子
Aug 17 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Django跨域请求原理及实现代码
Nov 14 Python
Django+Django-Celery+Celery的整合实战
Jan 20 #Python
详解Python Celery和RabbitMQ实战教程
Jan 20 #Python
详解python3类型注释annotations实用案例
Jan 20 #Python
python-jwt用户认证食用教学的实现方法
Jan 19 #Python
使用Python爬虫爬取小红书完完整整的全过程
Jan 19 #Python
python 自动识别并连接串口的实现
Jan 19 #Python
python爬取抖音视频的实例分析
Jan 19 #Python
You might like
PHP异步进程助手async-helper
2018/02/05 PHP
JavaScript 创建对象
2009/07/17 Javascript
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
node.js中的path.join方法使用说明
2014/12/08 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
Python 初始化多维数组代码
2008/09/06 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
RealTek面试题
2016/06/28 面试题
护理专业优质毕业生自荐书
2014/01/31 职场文书
新闻编辑专业自荐信
2014/07/02 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
单位介绍信格式
2015/01/31 职场文书
2015年端午节活动方案
2015/05/05 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
python利用while求100内的整数和方式
2021/11/07 Python
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python