位置: 编程技术 - 正文

Python使用Redis实现作业调度系统(超简单)(python的redis)

编辑:rootadmin

推荐整理分享Python使用Redis实现作业调度系统(超简单)(python的redis),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python redis sentinel,redission python,python中redis的用法,python redis操作,python中redis的用法,python redis incr,python中redis的用法,python中redis的用法,内容如对您有帮助,希望把文章链接给更多的朋友!

概述

Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。

Redis从它的许多竞争继承来的三个主要特点:

Redis数据库完全在内存中,使用磁盘仅用于持久性。

相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。

Redis可以将数据复制到任意数量的从服务器。

Redis 优势

异常快速:Redis的速度非常快,每秒能执行约万集合,每秒约+条记录。

支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。

操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。

多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

步入主题:

Redis作为内存数据库的一个典型代表,已经在很多应用场景中被使用,这里仅就Redis的pub/sub功能来说说怎样通过此功能来实现一个简单的作业调度系统。这里只是想展现一个简单的想法,所以还是有很多需要考虑的东西没有包括在这个例子中,比如错误处理,持久化等。

下面是实现上的想法

MyMaster:集群的master节点程序,负责产生作业,派发作业和获取执行结果。

Python使用Redis实现作业调度系统(超简单)(python的redis)

MySlave:集群的计算节点程序,每个计算节点一个,负责获取作业并运行,并将结果发送会master节点。

channel CHANNEL_DISPATCH:每个slave节点订阅一个channel,比如“CHANNEL_DISPATCH_[idx或机器名]”,master会向此channel中publish被dispatch的作业。

channel CHANNEL_RESULT:用来保存作业结果的channel,master和slave共享此channel,master订阅此channel来获取作业运行结果,每个slave负责将作业执行结果发布到此channel中。

Master代码

说明

MyMaster类 - master主程序,用来启动dispatch和resulthandler的线程

MyServerDispatchThread类 - 派发作业线程,产生作业并派发到计算节点

MyServerResultHandleThread类 - 作业运行结果处理线程,从channel里获取作业结果并显示

Slave代码

说明

MySlave类 - slave节点主程序,用来启动MyJobWorkerThread的线程

MyJobWorkerThread类 - 从channel里获取派发的作业并将运行结果发送回master

测试

首先运行MySlave来定义派发作业channel。

然后运行MyMaster派发作业并显示执行结果。

有关Python使用Redis实现作业调度系统(超简单),小编就给大家介绍这么多,希望对大家有所帮助!

在windows系统中实现python3安装lxml lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库。lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定。它与众不同的地方是

Eclipse中Python开发环境搭建简单教程 一、背景介绍Eclipse是一款基于Java的可扩展开发平台。其官方下载中包括J2EE方向版本、Java方向版本、C/C++方向版本、移动应用方向版本等诸多版本。除

python各种语言间时间的转化实现代码 一基本知识millisecond毫秒microsecond微秒nanosecond纳秒1秒=毫秒1毫秒=微秒1微秒=纳秒二perlperl中可以使用time或localtime来获得时间,time返回从年1月

标签: python的redis

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

上一篇:python编写简单爬虫资料汇总(python怎么写爬虫)

下一篇:在windows系统中实现python3安装lxml(在WINDOWS系统中回收站的作用不包括)

  • 税务师补报名时间可以交费吗
  • 附加税申报表怎么做
  • 税务师入会与不入会冲突
  • 增值税为10%的有哪些
  • 盘盈的固定资产怎么做账务处理
  • 一般纳税人简易征收最新政策2023
  • 提交印花税会计分录
  • 购买车辆的保险怎么入账
  • 小企业应付职工薪酬核算内容的有
  • 公司清算后资产负债表与利润表
  • 低值易耗品计入什么账户
  • 资产评估收益法的前提条件
  • 租赁收入无发票怎么做账
  • 贷款公司收取服务费是诈骗吗
  • 支付证明单打印版
  • 收到投资款需要什么原始凭证
  • 定期定额户开具增值税专用发票如何申报
  • 开票金额是纳税金额吗
  • 普通发票税收
  • 税控盘服务费抵税会计分录
  • 取得免税农产品进项税转出
  • 税收法定原则的意义
  • 华为手机屏幕碎了照片
  • 新版edge浏览器如何打开ie浏览器
  • 其它权益工具投资处置时其他综合收益转那
  • win10电脑声道怎么设置
  • 电脑主板bios设置
  • 固定资产减值判断标准
  • php数组函数,选班长
  • wordpresswiki
  • PHP:zip_entry_compressedsize()的用法_Zip函数
  • 金融机构贷款利息规定
  • 以分期收款方式销售货物的按照什么日期确认收入的实现
  • 固定资产汽车抵扣新政策
  • 存货损失账务处理新规定
  • 在海里的章鱼
  • 土地增值税清算全流程实战案例
  • 建筑劳务公司的法人代表有什么责任
  • vue的ref怎么用
  • 自建房销售个人所得税如何计算
  • 员工加班餐费该怎么算
  • 进口关税增值税如何做账
  • 小规模纳税人采购需要发票吗
  • 持有至到期投资科目被取消了吗
  • node.js入门教程
  • 顺丰的电子发票是不是只有收到以后能开
  • 一般纳税人是怎么征收
  • 电子口岸无纸化报关
  • 权责发生制根据产品的生产特点和管理要求结转成本
  • 税务处理决定书撤销情形
  • 差旅费报销时如何处理
  • 可供出售金融资产新准则叫什么
  • 汇算清缴时发现收入少了
  • 在建工程包括哪些大类科目
  • 房屋提折旧几年
  • 社保刚转回来,生孩子能报销吗
  • 个人转租房屋需要交房产税吗
  • 商贸公司经营范围可以写烟酒吗
  • 租房期间损坏应赔偿多少
  • 培训费属于什么应税项目
  • 各类奖金正确的排序
  • 购物卡送给客户的账务处理
  • 生产企业代理出口退税
  • 施工企业内部管理制度
  • sql如何查出重复的数据
  • dcom进程
  • windows自带的碎片整理程序
  • 自动保存怎么恢复
  • mac 应用
  • Tutorial 7 Rotation Transformation
  • js实现图片放大功能
  • BootStrap glyphicons 字体图标实现方法
  • Android游戏开发案例教程小小弹球
  • android游戏开发用什么语言
  • cocos设置中文
  • Node.js中的全局对象有
  • python的设置
  • js写后端用什么框架
  • 王军调研地税局的职务
  • 地方税务局怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设