二十四、python任务调度模块celery
发布日期:2021-10-31 07:31:30 浏览次数:20 分类:技术文章

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

python任务调度模块celery

celery简介

Celery是一个python开发的异步分布式任务调度模块。

Celery本身并不提供消息服务,使用第三方服务,也就是borker来传递任务,一般使用rabbitMQ或者Redis。

Celery特点

  • 简单:一单熟悉了celery的工作流程后,配置和使用还是比较简单的。
  • 高可用:当任务执行失败或执行过程中发生连接中断,celery 会自动尝试重新执行任务。
  • 快速:一个单进程的celery每分钟可处理上百万个任务。
  • 灵活: 几乎celery的各个组件都可以被扩展及自定制。

Celery工作流程图

这里写图片描述
这里写图片描述

celery安装使用

安装Celery模块

pip install celery

Celery的默认broker是RabbitMQ,仅需配置一行

broker_url = 'amqp://guest:guest@localhost:5672//'

redis作为broker也可以。

安装

pip install redis

配置

broker_url配置redis数据库地址,格式为redis://:password@hostname:port/db_number。
backend配置任务结果存储位置,将保存每个任务的执行结果。

app.conf.broker_url = 'redis://localhost:6379/0' app.conf.result_backend = 'redis://localhost:6379/0' port和db_number是可选项,默认情况下端口使用6379,db_number使用0。

示例

创建一个celery application定义任务列表,新建一个celery1.py文件

from celery import Celery broker = "redis://118.24.18.158:6379/5" backend = "redis://118.24.18.158:6379/6" app = Celery("celery1", broker=broker, backend=backend) @app.task def add(x, y):     return x+y

启动Celery Worker开始监听并执行任务

celery -A celery1 worker --loglevel=info

调用任务

import time from celery1 import add re = add.delay(10, 20) print(re) print(re.status) time.sleep(8) print(re.status) print(re.result)

转载地址:https://blog.csdn.net/weixin_39934221/article/details/80468242 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python 操作passwd
下一篇:二十三、消息队列

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月13日 09时39分41秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

天涯明月刀开发_玩家被天涯明月刀手游“冷落”?六大门派角色竟不带正眼看人... 2019-04-21
this指向undefined uiapp_一个this都没有,真好 2019-04-21
add p4 多个文件_2-3【微信小程序全栈开发课程】index页面完善--vue文件代码解析... 2019-04-21
5w2h原则指的是什么_什么是5W2H分析法?一首小诗带入进入大门。 2019-04-21
技校毕业是什么学历_中等职业学校是什么_中等职业学校毕业是什么学历 2019-04-21
2压缩备份数据库_MySQL数据备份与恢复(二) xtrabackup工具 2019-04-21
英特尔cpu发布时间表_被嘲讽的英特尔核显,强大能力其实超乎你的想象 2019-04-21
chi2inv函数 matlab_MATLAB概率和统计(2) 2019-04-21
lisp修改上一个图素_在Windows上安装Haskell 2019-04-21
ad19 导出step 没有pcb_几款主流PCB软件哪个最好用,你用过几款? 2019-04-21
json mysql 字段 默认值_Newtonsoft.Json 六个超简单又实用的特性,值得一试 【上篇】... 2019-04-21
ocdma相干非相干_《Acconeer 60GHz脉冲相干雷达芯片:A111》 2019-04-21
修改表格字体颜色_Excel技巧:Excel如何修改字体颜色 2019-04-21
native react 变颜色 点击_React Native主动更改StackNavigator标头颜色 2019-04-21
prism项目搭建 wpf_WPF MVVM使用prism4.1搭建 2019-04-21
python发微信红包群_用Python实现微信自动化抢红包,再也不用担心抢不到红包了... 2019-04-21
python中func自定义函数_Python函数之自定义函数&作用域&闭包 2019-04-21
wget连接指定端口_端口通不通 telnet wget ssh 2019-04-21
eureka 调用服务_Spring Cloud微服务架构从入门到会用(二)—服务注册中心Eureka... 2019-04-21
easyexcel 工具类_问了个在阿里的同学,他们常用的15款开发者工具! 2019-04-21