kingtask--一个轻量级的异步定时任务系统

2015-10-21 15:59:43 +08:00
 flikecn
kingtask 是一个由 Go 开发的轻量级的异步定时任务系统。主要特性包含以下几个部分:

支持定时的异步任务。
支持失败重试机制,重试时刻和次数可自定义。
任务执行结果可查询。
一个异步任务由一个可执行文件组成,开发语言不限。
任务是无状态的,执行异步任务之前,不需要向 kingtask 注册任务。
broker 和 worker 通过 redis 解耦。
通过配置 redis 为 master-slave 架构,可实现 kingtask 的高可用,因为 worker 是无状态的, redis 的 master 宕机后,可以修改 worker 配置将其连接到 slave 上。

github: https://github.com/flike/kingtask

感兴趣的可以看看,或交流。:)
5060 次点击
所在节点    分享创造
16 条回复
flikecn
2015-10-21 19:52:27 +08:00
没人感兴趣吗?大家都是怎么处理异步任务的?
immjun
2015-10-21 19:55:42 +08:00
对 Go 感兴趣
virusdefender
2015-10-21 20:00:40 +08:00
crontab + celery
wph95
2015-10-21 20:15:30 +08:00
@virusdefender celery + 1
不过源码写的有点重。。。
qihboy
2015-10-22 00:51:10 +08:00
deer job 以前用的?
flikecn
2015-10-22 08:44:44 +08:00
@qihboy 不是哦,头像而已。
flikecn
2015-10-22 08:45:01 +08:00
@wph95 kingtask 是轻量级的,使用比较简单。
flikecn
2015-10-22 08:45:10 +08:00
@virusdefender 嗯,了解。
flikecn
2015-10-22 08:45:19 +08:00
@immjun 可以看看
HowardMei
2015-10-22 11:30:41 +08:00
其实可以不用 Redis ,分布式 KV 很成熟了,像 https://github.com/victorcoder/dkron 就用 etcd 作 kv 和 serf 作 ha ,而我觉得直接用 consul (集成 raft + serf)就可以了,客户端直接注册 cron 任务,执行端返回一个状态就行, worker 可以更轻量, bash script + curl 就行
flikecn
2015-10-22 11:54:28 +08:00
@HowardMei 嗯,下一步注册任务直接通过 web api 来做。目前正在开发。后续可能会去掉 redis ,谢谢你的建议。
jinzhe
2015-10-22 12:07:55 +08:00
已 star 现在还用不上
flikecn
2015-10-22 13:59:13 +08:00
@jinzhe 谢谢!
jswh
2015-10-22 14:04:44 +08:00
crontab + 公司自己的定时任务组件, php 的
flikecn
2015-10-22 15:36:43 +08:00
@jswh kingtask 支持重试,可以算一个服务吧。我正在将提交任务改成 web api 调用的方式,这样服务之间就不依赖了。这也许就是所谓的「微服务」。:)
gollum9526
2019-06-26 16:57:32 +08:00
这个与 celery 实现异步、定时任务有何区别呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/229889

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX