windows环境中利用celery实现简单任务队列过程解析


Posted in Python onNovember 29, 2019

这篇文章主要介绍了windows环境中利用celery实现简单任务队列过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、背景

最近因项目需要,学习任务队列Celery的用法;

二、测试使用环境:

1.Windows7 x64

2.Python == 3.7.5

3.celery == 4.3.0

4.redis =3.3.11

5.eventlet==0.25.1 ==> pip install eventlet (windows环境必须安装)

6.IDE为pycharm

三、关于celery的安装和卸载处理

pip install celery #安装

pip install celery == 3.1.25 #指定安装版本

pip uninstall celery #卸载

四、Celery分为3个部分

1.worker部分负责任务的处理,即工作进程(我的理解工作进程就是你写的python代码,当然还包括python调用系统工具功能)

2.broker部分负责任务消息的分发以及任务结果的存储,这部分任务主要由中间数据存储系统完成,比如消息队列服务器RabbitMQ、redis、

3.Celery主类,进行任务最开始的指派与执行控制,他可以是单独的python脚本,也可以和其他程序结合,应用到django或者flask等web框架里面以及你能想到的任何应用

五、上代码:

1.创建Celery实例tasks.py:

# -*- coding: utf-8 -*- 

# 使用celery
import time
from celery import Celery
import redis

# 创建一个Celery类的实例对象
app = Celery('celery_tasks.tasks', broker='redis://:topsky@127.0.0.1:6379/1')

@app.task
def add(a, b):
  count = a + b
  print('任务函数正在执行....')
  time.sleep(5)
  return count

windows环境中利用celery实现简单任务队列过程解析

2.调用celery任务代码:

from celery_tasks.tasks import add
def notity(a, b):
  # result = a + b
  result = add.delay(a, b)
  return result
if __name__ == '__main__':
  result = notity(3, 5)
  print(result)

windows环境中利用celery实现简单任务队列过程解析

六、执行worker

1.创建一个worker,等待处理队列中的任务,打开Windows PowerShell终端以管理员身份运行,cd到E:\SvnCode\myCode目录中,

2.执行命令: celery -A celery_tasks.tasks worker -l info -P eventlet

参数解释,命令中-A参数表示的是Celery APP的名称celery_tasks,这个实例中指的就是tasks.py,后面的tasks就是APP的名称,worker是一个执行任务角色,后面的loglevel=info记录日志类型默认是info,这个命令启动了一个 worker, 用来执行程序中add这个加法任务(task),-P eventlet是防止在windows环境下出现

windows环境中利用celery实现简单任务队列过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的一些陷阱与技巧小结
Jul 10 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
Python 实现「食行生鲜」签到领积分功能
Sep 26 Python
Django csrf 验证问题的实现
Oct 09 Python
在IPython中进行Python程序执行时间的测量方法
Nov 01 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
Jun 17 Python
python 字典 setdefault()和get()方法比较详解
Aug 07 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 Python
Python pickle模块常用方法代码实例
Oct 10 Python
python基于socket模拟实现ssh远程执行命令
Dec 05 Python
基于Python中isfile函数和isdir函数使用详解
Nov 29 #Python
python os.path.isfile 的使用误区详解
Nov 29 #Python
python实现矩阵和array数组之间的转换
Nov 29 #Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 #Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 #Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
Nov 29 #Python
flask框架配置mysql数据库操作详解
Nov 29 #Python
You might like
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
PHP 组件化编程技巧
2009/06/06 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
js注册时输入合法性验证方法
2017/10/21 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
实例介绍Python中整型
2019/02/11 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python tornado修改log输出方式
2019/11/18 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
党的群众路线学习材料
2014/05/16 职场文书
公民授权委托书范本
2014/09/17 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
2014年化验员工作总结
2014/11/18 职场文书
校长师德表现自我评价
2015/03/05 职场文书
理想国读书笔记
2015/06/25 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
全新239军机修复记
2022/04/05 无线电