内容简介:cknit cknit 是一款开源高可用定时多任务管理工具,定时精度为秒级别 ( 相比cron增加了秒的取值 ),能够确保高效、稳定的处理多任务。 定时精度随任务量的变化如下所示 ( 测试平台OSX ): 任务数量 定时精度偏差 ...
cknit
cknit 是一款开源高可用定时多任务管理工具,定时精度为秒级别 ( 相比cron增加了秒的取值 ),能够确保高效、稳定的处理多任务。 定时精度随任务量的变化如下所示 ( 测试平台OSX ):
任务数量 | 定时精度偏差 |
---|---|
1000 | 0.01s |
100000 | 1s |
支持平台
目前支持 Linux、mac 两大平台,mac 平台使用 select 系统调用,Linux平台使用 Posix (timer),因此 Linux 平台性能比 mac 平台稍高,任务调度精度更佳
时间间隔格式
标准格式:
* * * * * * *
列 | 含义 | 取值范围 | 特殊值含义 |
---|---|---|---|
1 | 秒 | 0-60 | 正常含义 |
2 | 分 | 0-59 | 正常含义 |
3 | 时 | 0-23 | 0:表示午夜12点 |
4 | 日 | 1-31 | 正常含义 |
5 | 月 | 0-11 | 0:表示一月 |
6 | 周 | 0-6 | 0:表示周日 |
可选模式:
-
/
: 斜线表示每隔多少区间,例如:*/3 * * * * *
表示每隔三秒执行一次任务
-
,
:逗号表示可选值,例如:*/3 1,2,5,10 * * * *
表示在第1、2、5、10分钟每隔3秒执行一次任务
-
-
:表示区间范围,区间取值是包含边界值,例如:* 1-10,15,30-35 * * * *
表示在第1到10分钟、15分钟、30到35分钟的每一秒都执行一次任务
上面三种模式可以任意组合
设计架构
安装
cknit 采用 cmake 编译系统,因此需要目标机器安装 cmake 3.13 及以上版本
1、下载源码
git clone https://gitee.com/josinli/cknit.git
2、编译
mkdir build cd build cmake .. make && make install cknit
APIs管理
安装完成后,访问:
http://127.0.0.1:9898
响应如下:
{ "message": "Welcome use cknit", "code": "ok", "version": "1.0", "port": 9898, "APIs": [ { "name": "Get all monitors tasks", "method": "GET", "protocol": "HTTP/1.1", "url": "http://127.0.0.1:9898/monitors" }, { "name": "Add one monitors tasks", "method": "POST", "protocol": "HTTP/1.1", "url": "http://localhost:9898/monitors" }, { "name": "Modify one monitors tasks", "method": "PUT", "protocol": "HTTP/1.1", "url": "http://localhost:9898/monitors" } ] }
API: 获取当前所有的任务
GET http://127.0.0.1:9898/monitors
响应回答如下:
[ { "command": "php ~/Desktop/index.php", "period": "* 1,2,3,10-20 * * * *", "id": 1, "status": 0 }, { "command": "php ~/Desktop/index.phpd", "period": "* * * * * * */2" } ]
API: 在线添加任务
POST http://127.0.0.1:9898/monitors { "command": "php ~/Desktop/index.php", "period": "* * * * * * */2" }
响应回答如下:
{ "message": "Success", "code": "true", "operation": "Add task" }
API: 在线修改已存任务(id是系统自动分配的)
PUT http://127.0.0.1:9898/monitors { "id": 998, "data": { "status":0, "period": "* * * 11 * */2", } }
响应回答如下:
{ "message": "Success", "code": "true", "operation": "Modify task" }
以上所述就是小编给大家介绍的《高精度、可用的定时任务管理工具 cknit 开源啦》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- C++之高精度详解
- 蓝桥杯 ADV-121 算法提高 高精度加法
- 系统的讲解 - PHP 浮点数高精度运算
- LeetCode43,一题让你学会高精度算法
- CVPR 2019 | STGAN: 人脸高精度属性编辑模型
- FaceBoxes:官方开源 CPU 实时高精度人脸检测器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Growth Hack 這樣做
Xdite / PCuSER電腦人文化 / 2016-5-7 / 300.00台幣
◎具體教你在預算有限的情況之下,把成長做出來的可行與必要方法! ◎帶動台灣成長駭客話題的專業講師,親授讓產品突破80分的成長秘笈 @這本書要給誰看? 1. 創業者、個人品牌經營者,想要提高自己服務轉換率的人。 2. 空有產品,但是賣不出去,花了錢投廣告卻效果低落的人。 @這本書有什麼不一樣? 1.全球最重要的趨勢,台灣最知名的 Growth Hack 講師 Xd......一起来看看 《Growth Hack 這樣做》 这本书的介绍吧!