位置: 编程技术 - 正文

Python环境下安装使用异步任务队列包Celery的基础教程(如何安装python环境安装包)

编辑:rootadmin

推荐整理分享Python环境下安装使用异步任务队列包Celery的基础教程(如何安装python环境安装包),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python3安装环境,python环境下安装opengl,如何安装python环境安装包,安装 python 环境,python环境安装激活码,python环境下安装selenium,python环境下安装外来包的命令,python环境下安装opengl,内容如对您有帮助,希望把文章链接给更多的朋友!

1.简介

celery(芹菜)是一个异步任务队列/基于分布式消息传递的作业队列。它侧重于实时操作,但对调度支持也很好。celery用于生产系统每天处理数以百万计的任务。celery是用Python编写的,但该协议可以在任何语言实现。它也可以与其他语言通过webhooks实现。建议的消息代理RabbitMQ的,但提供有限支持Redis, Beanstalk, MongoDB, CouchDB, ,和数据库(使用SQLAlchemy的或Django的 ORM) 。celery是易于集成Django, Pylons and Flask,使用 django-celery, celery-pylons and Flask-Celery 附加包即可。

2. 安装有了上面的概念,需要安装这么几个东西:RabbitMQ、SQLAlchemy、Celery安装方式也都很简单: RabbitMQ:mac下:

linux:

剩下两个都是Python的东西了,直接pip安装就好了,对于从来没有安装过MySQL驱动的同学可能需要安装MySQL-python。安装完成之后,启动服务:

启动后不要关闭窗口, 下面操作新建窗口(Tab)

3. 简单案例确保你之前的RabbitMQ已经启动。还是官网的那个例子,在任意目录新建一个tasks.py的文件,内容如下:

Python环境下安装使用异步任务队列包Celery的基础教程(如何安装python环境安装包)

在同级目录执行:

该命令的意思是启动一个worker,把tasks中的任务(add(x,y))把任务放到队列中。保持窗口打开,新开一个窗口进入交互模式,python或者ipython:

到此为止,你已经可以使用celery执行任务了,上面的python交互模式下简单的调用了add任务,并传递4,4参数。但此时有一个问题,你突然想知道这个任务的执行结果和状态,到底完了没有。因此就需要设置backend了。修改之前的tasks.py中的代码为:

除了添加backend之外,上面还添加了一个who的方法用来测试多服务器操作。修改完成之后,还是按照之前的方式启动。同样进入python的交互模型:

4. 测试多服务器做完上面的测试之后,产生了一个疑惑,Celery叫做分布式任务管理,那它的分布式体现在哪?它的任务都是怎么执行的?在哪个机器上执行的?在当前服务器上的celery服务不关闭的情况下,按照同样的方式在另外一台服务器上安装Celery,并启动:

发现前一个服务器的Celery服务中输出你刚启动的服务器的hostname,前提是那台服务器连上了你的rabbitmq。然后再进入python交互模式:

看你输入的内容已经观察两台服务器上你启动celery服务的输出。

5. RabbitMQ远程连接的问题一开始测试时远程服务器无法连接本地的RabbitMQ服务,后来发现需要设置权限,在/usr/local/etc/rabbitmq/rabbitmq-env.conf这个文件中,修改NODE_IP_ADDRESS=.0.0.1中的ip为0.0.0.0。

6. 总结的说这篇文章简单的介绍了Celery的使用,重点还是在分布式的使用。觉得不太爽的地方是,在扩展时,需要重新把代码(tasks.py)部署一遍,而不是可以直接把tasks进行共享,可能Celery是通过task来进行不同的worker的匹配的?目前还不太了解,等深入使用之后再说。

Python对list列表结构中的值进行去重的方法总结 今天遇到一个问题,在同事随意的提示下,用了itertools.groupby这个函数。不过这个东西最终还是没用上。问题就是对一个list中的新闻id进行去重,去重之

Python常用知识点汇总 1、Set基本数据类型a、set集合,是一个无序且不重复的元素集合classset(object):"""set()-newemptysetobjectset(iterable)-newsetobjectBuildanunorderedcollectionofuniqueelements."""de

Python数据类型详解(一)字符串 一.基本数据类型整数:int字符串:str(注:t等于一个tab键)布尔值:bool列表:list列表用[]元祖:tuple元祖用()字典:dict注:所有的数据类型都存在想

标签: 如何安装python环境安装包

本文链接地址:https://www.jiuchutong.com/biancheng/386154.html 转载请保留说明!

上一篇:Python编写电话薄实现增删改查功能(python电话本)

下一篇:Python对list列表结构中的值进行去重的方法总结(python list的操作)

  • 增值税发票综合服务平台密码
  • 失控发票账务处理
  • 什么是边际税率高
  • 存货盘盈如何处理
  • 工会经费和工会会员会费
  • 事业单位不用纳税吗
  • 申报后发现未勾选发票
  • 金税盘忘了清盘怎么办
  • 增值税专用发票抵扣税额是什么意思
  • 小企业费用包括哪些
  • 企业外部风险包括
  • 汇总记账凭证长什么样
  • 平价转让股权个税申报表填写
  • 职工薪酬纳税调整标准
  • 货物抵款协议书
  • 事业单位对外投资涉及的主要科目有
  • 税收滞纳金算不算营业利润
  • 旧税号还能开票吗
  • 环保税征收意义
  • 企业合作开发的研发费怎样加计扣除?
  • 上市公司资产重组办法
  • 发给客户补货的产品怎么做?
  • 华为正式发布鸿蒙官网
  • 税负率的计算方法公式
  • 收入确认的五个步骤
  • 苹果笔记本下载的itunes在哪
  • 主营业务成本如何算
  • linux系统文件压缩命令
  • 收到发票未抵扣需要做账吗
  • mac怎么删除应用程序中没有的软件
  • 石榴石的功效与作用价值
  • php用户会员系统
  • 会计核算的实训目的
  • 多伦多日照时间
  • jar启动指定启动类
  • 什么情况下可以土葬
  • edge浏览器about:flags
  • 承担客户车辆维修责任
  • php制作微信小程序
  • 外汇申报是什么意思
  • html小游戏代码大全
  • 小规模纳税人印花税减半征收政策
  • 员工报销凭证怎么做
  • 资产减值损失属于营业外支出吗
  • ps像素分辨率什么意思
  • three.js gui
  • php生成器和迭代器理解
  • 定金罚则可以约定吗
  • 费用报销做账分录
  • 先弥补亏损还是先分配利润
  • 收到固定资产抵账账务处理
  • 劳务报酬所得税可以退税吗
  • 投资收益属于营业外收入吗为什么
  • 子公司没有收入,只有费用如何企业所得税汇算清缴
  • 外贸出口企业如何申报增值税
  • 无形资产如何计提减值
  • 收到员工生育津贴怎么做分录
  • 营业外收入如何纳税
  • 固定资产怎么做账
  • 商业劳务费是什么意思
  • 进项大于销项月末怎么处理
  • 现金收款的程序是什么
  • 预付款已经开了发票未到货要怎么做账
  • sql server233错误
  • 使用http_load来给Linux系统的服务器做压力测试
  • ocxdll.exe - ocxdll是什么进程 有什么用
  • javascript中的this
  • 如何消除手机自动出现的广告
  • 学node.js需要什么基础
  • 'tools.jar' seems to be not in Android Studio classpath. Please ensure JAVA_HOME points to JDK rathe
  • js 函数写法
  • javascript面向对象编程指南 pdf
  • javascript字符类型
  • 湖北国税发票真伪查询
  • 电子税务局房产税税源信息采集
  • 江西省联考成绩查询系统入口官网
  • 广东智慧团建登录不上去怎么回事
  • 深圳前海自贸区医院是三甲吗
  • 税务局监制的收据哪里买
  • 长沙个体户缴纳个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设