Radish 任务抢占系统
2019独角兽企业重金招聘Python工程师标准>>>
推荐一款开源任务抢占系统
文章来源 : Radish 任务抢占系统
项目开源地址 gitee: https://gitee.com/shensuoyao/radish
项目开源地址 github:https://github.com/shensuoyao/radish
项目开发过程中不可避免需要用到定时任务,开发定时任务有时候是个头疼的事情。尤其是对中小项目来说,任务往往被嵌入在项目中。然而定时任务通常是难以测试的,这样就导致了定时任务的开发困难,测试困难。伴随着项目的迭代更新,任务也跟着每次重新部署。产生的不可控导致bug常出。
聪明的开发者往往会把任务和项目分开,为了达到解耦的目的,最简单粗暴的方法就是使用脚本语言编写定时任务,然后配置到系统调度器crontab中,这样业务项目就跟定时任务解耦了。虽然这样做对于中小项目的定时任务可以达到一定的效果,但同样也存在一些问题,最简单比如任务的日志,你需要知道任务的执行成功与失败,有时候还需要查看任务的日志数据是否满足要求等等,对于这种情况就显得很不方便了。
这里推荐一款开源的任务抢占系统,适用于中小项目的任务管理。部署简单,依赖少。
Radish 任务抢占系统,根据作者的介绍,该系统适用于中小项目,难得的是居然还实现了任务依赖和监控。
Radish区别与传统的任务调度系统点在于其理念新颖,传统的任务调度系统是通过主控调度器生成任务,并选择执行机执行。任务调度不够灵活,对于复杂的任务依赖问题难于解决,当任务并发量增大时,主调度器就显得有些吃力了。而任务的调度器和执行机之间通过RPC双向依赖执行,在专有网络或私有集群中一般无法实现双向依赖部署(出于安全的考虑,一般是专有网络能访问外网,而外网无法直接访问专有网络中的机器)。Radish则将任务解释为“配置”,而具体的任务执行解释为“事件”。 调度器通过任务“配置”,每次调度生成一个可执行“事件”。客户机通过单项RPC向主控服务请求触发可执行“事件”,执行机之间通过抢占的方式获取可执行事件到本地执行,最后将执行结果反馈给主控服务。这种模式解决了由主控来统一调度任务的复杂度。并且通过任务的“配置”,可以很方便的定义任务之间的依赖关系。当生成可执行事件的时候,如果某一事件的执行必须在另一事件完成后的条件下才能执行,那么该事件就会一直等待,直到其依赖的事件被执行后才能被执行。通过这种方式很好的解决了任务链的场景(举个简单的例子,工作流中的各节点事件,就可以定义为一个独立的任务链来执行)。
转载于:https://my.oschina.net/u/244775/blog/2052322
Radish 任务抢占系统相关推荐
- uniapp实现音频播放抢占系统音频焦点
项目为使用uniapp框架开发的Android/iOS APP应用 实现功能需求 假设手机正在播放音乐,当前APP处于前台收到消息,需播放提示音提示用户.目标为降低后台正在播放音乐的音量,播放提示音, ...
- linux应用程序抢占键盘,linux 系统挂起
尽管内核代码的大部分 bug 以 oops 消息结束, 有时候它们可能完全挂起系统. 如果系 统挂起, 没有消息打印. 例如, 如果代码进入一个无限循环, 内核停止调度,[15]15 并且系 统不会响 ...
- linux 挂起 移动电脑,linux 系统挂起
尽管内核代码的大部分 bug 以 oops 消息结束, 有时候它们可能完全挂起系统. 如果系 统挂起, 没有消息打印. 例如, 如果代码进入一个无限循环, 内核停止调度,[15]15 并且系 统不会响 ...
- linux 系统自动挂起,linux 系统挂起
尽管内核代码的大部分 bug 以 oops 消息结束, 有时候它们可能完全挂起系统. 如果系 统挂起, 没有消息打印. 例如, 如果代码进入一个无限循环, 内核停止调度,[15]15 并且系 统不会响 ...
- es数据更新时间_京东到家订单中心系统mysql到es的转化之路
原文:https://www.toutiao.com/i6796507988602389006 京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大 ...
- mysql订单迁移es_京东到家订单中心系统mysql到es的转化之路
京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况. 我们把订单数据存储在MySQL中,但显然只通过DB来支撑大量的 ...
- 「轻阅读」京东到家订单中心系统mysql到es的转化之路
IT实战联盟博客:http://blog.100boot.cn 原文:https://www.toutiao.com/i6796507988602389006 京东到家订单中心系统业务中,无论是外部商 ...
- MySQL用得好好的,为什么要转ES?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:京东技术(ID: jingdongjishu) 京东到家订单 ...
- TI 实时操作系统SYS/BIOS使用总结
1:概述: SYS/BIOS 是一个可扩展的实时的操作系统.具有非常快速的响应时间(在中断和任务切换时达到较短的延迟),响应时间的确定性,强壮的抢占系统,优化的内存分配和堆栈管理(尽量少的消耗和碎片) ...
- 京东把 Elasticsearch 用的真牛逼!
来源:京东技术(ID: jingdongjishu) 京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况. 我们把订 ...
最新文章
- STM32F103C8/BT6最小系统原理图、PCB
- Android 消息异步处理之AsyncTask
- LINUX下UDP实现消息镜像通信,linux环境下基于udp socket简单聊天通信
- Nancy之结合tinyfox给我们的应用提供简单的数据服务
- javaScript初学者易错点
- IBM 公开最新 Power 处理器架构
- 前端传值后端接收不到_解决vue get请求传参后端接收不到参数值(java sptingboot)
- 10张劲爆眼球的科学动图
- P3203-[HNOI2010]弹飞绵羊【分块】
- java代码测试---插入排序和选择排序
- bool 取反_dataframe根据bool值高效地进行多重条件筛选的
- python解析与输出emoji
- ES6新特性_Promise封装读取文件---JavaScript_ECMAScript_ES6-ES11新特性工作笔记025
- 线性系统和非线性系统——《应用非线性动力学》读书笔记
- R语言编程环境的安装和运行
- 华为云D-Plan解决方案为企业数智升级注入AI新动力
- CString字符串操作
- 机器学习——神经网络、深度学习 知识点总结 及 面试题汇总
- 引流软件的操作原理是怎样的,引流软件效果是不是很好?
- mybasit执行sql语句报类型转换失败java.lang.NumberFormatException
热门文章
- android转发短信到邮箱,利用短信通知的方式在Tasker中实现收到Android手机短信自动转发到邮箱...
- 如何使用腾讯云GPU云服务器完成 blender 的动画图片渲染
- 论实力和智慧,美的微晶冰箱有点东西!
- QPS、TPS、并发用户数、吞吐量
- 靶向测序的CNV分析简介
- 解决Windows10家庭版系统无法安装Docker Desktop问题
- 已知某网络有一个地址是167.199.170.82/27,问这个网络的网络掩码。
- qt 雷达扫描障碍物_激光雷达Lidar与毫米波雷达Radar:自动驾驶的利弊
- sublime text2配置文件详解(转)
- springboot框架直接访问静态页面