labulakalia / crocodile

Distributed Task Scheduling System|分布式定时任务调度平台
MIT License
1.02k stars 167 forks source link

使用体验建议 #111

Open Makzhou opened 1 year ago

Makzhou commented 1 year ago

我研究了很多关于“定时任务”的开源系统,发现crocodile是最完美的;诸如celery、gocron、xxl-job、powerjob、PPGo_job、airflow等等,都不适合中小型企业使用,存在很多原因,①是用java写的不方便在linux上面跑;②是增加了太多无效的累赘功能(dag、切片);③有些连最基本的单一并发控制都没有;④是不方便运维人员;太多了不做一一列举,一句话:太笨重不好用。

1、增加一个任务暂停功能,方便运维人员调试。 2、路由策略,增加一个并发执行,所有Worker同时执行,这个适用于负载执行任务以及处理分布式服务器自身的东西,如删除日志,监听日常服务运行状态,服务器CPU超标等等。 3、编译安装的时候,web部分,make frontend 没问题;make bindata也没问题;但是go build 会报错; 4、可以搞一个开关,用于健康节点不在线,预警一下;比如,get online host failed {"error": "can not get valid host from hostgrop dingkeyun[699218712577708032]"} 在这里就有提示没有Worker主机了,可以预警发邮件出来(吐槽一下:其它通知方式我觉得都没必要,完全浪费时间去开发,什么qq,钉钉都不实用,邮件是最好的方式,也是最国际化的) 5、调度中心不可用,也提供预警功能,比如在这个日志这里实现 error schedule/grpc.go:285 client.SendHb failed {"error": "调用对端不可用"} 6、api接口,增加一个标准Expect Content,非常多的场景会执行api接口,然后根据接口返回continue继续执行,虽然用bash也可以实现 7、./README.md 不需要搞太多华丽介绍,包装再多也没用;关于实际上如何编译,一步一步介绍下是最好的,让小白也能上手,虽然有二进制直接用,但是任何一家企业,都会自己编译一下,跑一下流程,才敢放心使用,因此这一步我觉得非常重要,可能你只需要几分钟时间,但是对于企业来讲需要的是几十个甚至几百个小时,无奈增加门槛。


总体来说,这个项目我个人觉得,关于中小企业定时任务系统,是排名no.1 的,简洁、方便、可维护性强。值得坚持下去,因为这个项目很专一的在处理定时任务系统,后期也可以扩展商业版出来,我人为很多企业愿意为这个买license。

smil4ever commented 1 year ago

非常赞成!!