Kala工作调度

联合创作 · 2023-09-29 15:11

Kala 是用 Go 写成的简单的、现代的、高性能的工作调度,它没哟任何依赖。

Kala 的灵感来自于 Chronos,Chronos 由 Airbnb 开发,它建立于 Mesos 的顶层,默认容错和分布式设计。这两个设计是 Kala 所没有的,因为 Kala 专为小型部署而开发。

特性:

  • 单二进制
  • 没有依赖关系
  • JSON over HTTP API
  • 工作统计
  • 可配置重试
  • 使用ISO 8601日期和间隔符号进行计划
  • 依赖工作
  • 永久具有多个数据库驱动程序
  • 网页界面

示例代码:

ajvb$ curl http://127.0.0.1:8000/api/v1/job/
{"jobs":{}}
ajvb$ curl http://127.0.0.1:8000/api/v1/job/ -d '
{"epsilon": "PT5S", "command": "bash /home/ajvb/gocode/src/github.com/ajvb/kala/examples/
example-kala-commands/example-command.sh", "name": "test_job", "schedule": 
"R2/2015-06-04T19:25:16.828696-07:00/PT10S"}'
{"id":"93b65499-b211-49ce-57e0-19e735cc5abd"}
ajvb$ curl http://127.0.0.1:8000/api/v1/job/
{
    "jobs":{
        "93b65499-b211-49ce-57e0-19e735cc5abd":{
            "name":"test_job",
            "id":"93b65499-b211-49ce-57e0-19e735cc5abd",
            "command":"bash /home/ajvb/gocode/src/github.com/ajvb/kala/examples/example-kala-commands/example-command.sh",
            "owner":"",
            "disabled":false,
            "dependent_jobs":null,
            "parent_jobs":null,
            "schedule":"R2/2015-06-04T19:25:16.828696-07:00/PT10S",
            "retries":0,
            "epsilon":"PT5S",
            "success_count":0,
            "last_success":"0001-01-01T00:00:00Z",
            "error_count":0,
            "last_error":"0001-01-01T00:00:00Z",
            "last_attempted_run":"0001-01-01T00:00:00Z",
            "next_run_at":"2015-06-04T19:25:16.828794572-07:00"
        }
    }
}
浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报