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判断字符串是否纯数字的方法
Nov 19 Python
Python守护进程(daemon)代码实例
Mar 06 Python
将Python中的数据存储到系统本地的简单方法
Apr 11 Python
Python手机号码归属地查询代码
May 04 Python
Python变量赋值的秘密分享
Apr 03 Python
浅谈pyqt5中信号与槽的认识
Feb 17 Python
Python常见数字运算操作实例小结
Mar 22 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
python NumPy ndarray二维数组 按照行列求平均实例
Nov 26 Python
Python中断多重循环的几种方式详解
Feb 10 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
Python机器学习之逻辑回归
May 11 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的图形函数中显示汉字
2006/10/09 PHP
在PHP中使用redis
2013/11/04 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
创建与框架无关的JavaScript插件
2020/12/01 Javascript
Python MySQLdb Linux下安装笔记
2015/05/09 Python
Python基于pillow判断图片完整性的方法
2016/09/18 Python
Python实现的计算器功能示例
2018/04/26 Python
详解python 注释、变量、类型
2018/08/10 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
如何把python项目部署到linux服务器
2020/08/26 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
车辆维修工自我评价怎么写
2013/09/20 职场文书
洗发水广告词
2014/03/13 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
合伙购房协议样本
2014/10/06 职场文书
2015年度物流工作总结
2015/04/30 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python