基于 Golang 开发的分布式任务调度系统,支持 http 请求、运行 golang 、python 、shell 等调度任务
</details>
http
请求任务shell
、python
、golang
代码(当然其他语言也可以支持,如需要请提出)父任务
->主任务
->子任务
,任意任务出错后会立即中断整个流程,还可以设置父任务或子任务并行
或者串行
运行成功
、失败
、运行完成
发送通知给多个用户如果你想看开发进度的话可以看看这里
Trello_Crocodile
既然看到这里了那我就恬不知耻求职了,想找一个 Golang 后端开发的工作,如果你有合适的工作介绍给我可以能不能留下一个联系方式或 jd,非常感谢。👀
1
pypy 2020-04-18 09:51:29 +08:00
很好的项目,支持一下!浏览了文档,也看了 trello (在 trello 中没有找到设计图),有个疑问想请教一下:
项目是如何实现分布式调度的?具体指的是一致性问题、幂等、failover 等。项目中似乎也没有用到 zookeeper 或 etcd,不知道具体是怎么实现的呢?谢谢。 |
2
a852695 2020-04-18 09:56:15 +08:00
很好的项目,特别是任务调度这块的设计比 gocro 功能要完善一些
|
3
sanchez0623 2020-04-18 09:56:37 +08:00 via iPhone
几年经验?坐标哪里
|
4
AlwaysCGG 2020-04-18 10:50:55 +08:00 via Android
支持一下
|
5
wysnylc 2020-04-18 10:57:02 +08:00
加油,干死 Java
|
6
labulaka521 OP |
7
ArJun 2020-04-18 11:08:58 +08:00
照这个进度抢 java 饭碗只是时间的问题了
|
8
labulaka521 OP @pypy 主要是基于 redis 实现的,在每次调度前,调度节点会同时获取一个 redis 锁,然后抢到的才会继续运行,调度图还没来得及画,不过这个周末就把调度图画出来
|
9
labulaka521 OP @ArJun 各有特点吧,还不至于抢 java 的饭碗,哈哈哈
|
10
Latin 2020-04-18 11:20:21 +08:00
建议 support docker deploy
|
11
excxapp 2020-04-18 11:24:24 +08:00
部署之后提示 2020-04-18T11:13:42.021+0800 error schedule/grpc.go:248 registry client failed {"error": "rpc error: code = Unknown desc = 系统还未安装,请等待安装后再进行操作"}
|
12
CodeCore 2020-04-18 11:24:47 +08:00 via iPhone
支持,加 star
|
13
labulaka521 OP |
14
useben 2020-04-18 11:52:01 +08:00
支持一下
|
15
ps1aniuge 2020-04-18 14:10:32 +08:00
借楼,安利下我的项目,不支持 redis,mysql,但却有高可用,和楼主的差别还是比较大的。
不支持什么调度算法。没有 http 调度。但也有微信,钉钉。钉钉要下周发布。请坐等 1---3 天。 开源免费,跨平台的 devops 批量运维工具《卡死你 3000 》简介 https://www.toutiao.com/i6808017697528349191/ =============================== 《卡死你 3000 》运行命令详解 https://www.toutiao.com/i6812528573992141320 =============================== 遇 devops 事不决,问《卡死你 3000 》。jenkins 搭配《卡死你 3000 》,能解决 99%的 devops 事。 自动,批量运维,基于脚本,它比 ansible 好用 10 倍。 开源+免费+跨平台的 devops 批量运维系统《卡死你 3000 》,了解一下: https://gitee.com/chuanjiao10/kasini3000 https://gitee.com/chuanjiao10/kasini3000_agent_linux 卡死你 3000 官方技术支持群。qq 群:700816263 |
16
ps1aniuge 2020-04-18 14:14:06 +08:00
没有 web,也不支持用户管理。但却有 [表情包,斗图乐] 功能。
|
17
labulaka521 OP 记着点 star 哈
|
18
cy476571989 2020-04-18 14:50:08 +08:00
@labulaka521 楼主,已经 star,
如果你的项目有文档翻译方面的需求,可以尝试一下: www.breword.com 我做这个网站主要就是为了解决开源项目文档翻译方面的问题。 目前提供以下 features: 1. 机器预先翻译 2. 可视化编辑器 3. 协作翻译、审校 4. 自动监测文档更新 5. 支持导出所有翻译文档 希望可以帮到你。(曾经做过开源项目,项目庞大之后,深知文档维护的痛苦) |
19
labulaka521 OP @cy476571989 这个看着很棒👍👍
|
20
cy476571989 2020-04-18 14:57:39 +08:00
@labulaka521 谢谢,使用中遇到问题,或者有其他建议,可以联系我: [email protected], 希望咱们可以一起助力国内的开源事业越来越蓬勃发展。加油💪
|
21
useben 2020-04-18 15:07:01 +08:00
楼主这样的目录架构 docker 化的话,可执行文件打包略大,web,调度器,work 其中一个修改就需要重新打包,耦合了。
|
22
labulaka521 OP @useben 确实,我在 mac 环境打包出来 50m,当初是想着生成一个文件,所以才把这些打包到一起了,方便管理
|
23
useben 2020-04-18 15:38:22 +08:00
@labulaka521 不过改造下就好了,把 core/cmd 下的三个文件重构成 2 个,把 master 和 work 解耦。最好再把 web 服务和调度器再拆分下,二者通过 rpc 通信。这样子,web api,调度器,worker 完全解耦了,任意水平扩展了
|
24
ifconfig 2020-04-18 16:51:55 +08:00
|
25
labulaka521 OP @useben 这样也行,工作量不大,web 的话如果想重新部署到另外的地方可以直接把前端代码编译就可以了,不过我不太喜欢这种分的太多,感觉太麻烦了,哈哈。
|
26
labulaka521 OP @ifconfig 嘿嘿,是呀,不过不是大佬,哈哈
|
27
tikazyq 2020-04-18 20:55:23 +08:00
跟我们开发的爬虫管理平台有异曲同工之妙,crawlab,同样是用 golang 写的
|
28
putaozhenhaochi 2020-04-18 22:24:31 +08:00
@ps1aniuge 它比 ansible 好用 10 倍。??怎么得出这个结论的
|
29
ps1aniuge 2020-04-19 15:24:41 +08:00
|
30
labulaka521 OP @tikazyq 看过很棒,star 很多(羡慕)
|
31
vipppppp 2020-04-20 09:31:19 +08:00
很棒的项目,给予我们用的任务,提一下一点小建议
是不是应该引入 DAG 的概念,或者父子任务就是这个,但关系却不是很明显? [运行 shell 、python 、golang 代码(当然其他语言也可以支持,如需要请提出)] ,是否不应该停留在语言层面,应该把这些看成一个执行器,PythonOperation,GolangOperation 等等,这样的好处是能够用任意语言实现同样的接口 /方法就能调度,这样最大的好处是有利于用户插件的开发。 仅仅是我使用任务调度框架的一点点小经验,可能有点不实用,见谅~~~ |
32
labulaka521 OP @vipppppp 感谢建议,我会好好考虑😃
|
33
neroanelli 2020-04-25 21:34:36 +08:00 via iPhone
已经 star,感谢。能否增加任务分组和批量启停功能?还有就是 http api 控制?
|
34
labulaka521 OP @neroanelli 这两个功能可以考虑。http api 就是使用 api 进行一些操作吧,我在接口处加了 swag 的文档,使用 apihost/swagger/index.html 就可以看到这些接口
|