来某厂接近半年了,几乎没写过C++代码,说实话还真的有点手生。最近刚好有一个需求,然而我感觉我也没有办法用C++以外的语言去实现它。于是还是花了几天时间用C++完成编码,这是一个简单的任务执行引擎,它被我称作panguan。写这 篇文章主要记录一下开发过程中的一些思路和想法。不足之处,劳烦大家给予指出。
1.写在前面
1.1需求来源
最近有一个需求,假设我们有很多任务需要定时执行甚至定时重复运行,并且其中有一些任务之间可能存在控制依赖和/或数据依赖,甚至我们希望可以利用一些原子任务去组成一个更大的任务。
所以我们需要有一个工具可以将这些任务管理起来:1)解决依赖问题;2)将能并发的任务最大化地并发起来;3)使用简单,只需填写配置文件,不需要写任何代码即可让一堆任务有序地Run起来;4)能够正确调度这些任务的顺序;5)may be more。
我调研了一些已经存在的任务执行引擎,包括FStack。然而试用了一下FStack,发现我不会用,这就很尴尬了。
报着“杀鸡焉用牛刀”的想法,于是最终花了几天自己写了一个可实际运行的工具,即panguan(判官)。
1.2名字来源
这个任务执行引擎被命名为“判官”,就是想给人一种不明觉厉的装X气质。
据百度百科记载,传说中阴曹地府中的判官判处人的轮回生死,对坏人进行惩罚,对好人进行奖励。而该任务执行引擎的主要工作是调度任务的顺序和生存周期,对执行成功和失败的任务进行处理。感觉这个名字很有这个场景的气质,于是配置任务属性的

