推荐一款任务调度的开源方案

在平时的工作中,我们多多少少会有一些定时任务需要处理,有些是在每个服务器上单独部署,有些是在中控端部署,但是这样有一个缺点就是难以形成闭环,我们不知道我们的定时任务是否执行成功,如果需要做信息统计,这个工作量还是蛮大的。

简单来说,就是下面的痛点了:

  • 需要在每台linux服务器的crontab里一一定义任务
  • 任务的执行监控太不方便了
  • 得登录到每台机器查看定时任务的运行结果,机器一多简直是一种灾难
  • 对于多台机器协同处理一个任务很麻烦,如何保证多台机器上的任务按顺序依次执行?
  • 当任务运行失败,要重新执行,还得重新定义下执行时间,让其重跑,重跑完成了还得改回正常时间
  • 正在运行的任务要kill掉很麻烦,查看进程然后才能kill ......

而最近在梳理自动化的一些东西,所以开源的方案都会进入我的视线,我都会多多少少测试一下,看看怎么转换为自己需要的东西,顺便也找找曾经开发的感觉。有一个开源项目opencron引起了我的兴趣。

开源项目的地址是:https://github.com/wolfboys/opencron

整个开源项目的部署还是比较方便的,如果做过Java Web相关的开发,部署起来会很轻松。

说说我对这个项目的理解,开发语言主要是Java,它的架构是基于c/s的方式,在每个需要调用任务的客户端都需要部署一个客户端,然后在服务端来触发,整个工程的编译是使用maven实现,编译后会生成一个war包,拷贝到web容器中,比如tomcat中即可。

对我来说最大的优点是这个项目我能很快得到我希望看到的界面和功能。界面的效果上还是不错的,可以选择差不多10多个主题。

而从功能来说,个人认为中间的头像和日历还是不需要的,右边栏的统计很不错,通过这些概览能够很容易得到一个整体的数据。那些任务成功,失败都可以一目了然。

还有个不错的功能是对于任务的统计图,有折线图,有饼图。这个效果还是不错的。任务可以手动执行触发,也可以设置重跑次数,超时次数等等。

这个webshell的功能真是太炫了。在浏览器中能够开启这样一个ssh会话,我在几年前还曾经写过程序模拟,但是效果都不大好,在这里满足了我之前的一个小小的遗憾。

还有个问题就是如果要集成到自动化平台中,其实还是需要不小的工作量,因为自动化平台的技术语言目前是Python,考虑到团队的需求,尽可能减少体系的复杂度,opencron还是有不小的参考价值,在后期如何引入,我觉得可以依旧从试用中得到更多的经验。

我觉得我需要兼任几个角色,比如产品设计,系统架构,然后落地的过程中的开发技术和数据库相关的技术结合,想想挑战还是有的,不管怎么样就是做一件事情,把他做好,先提高团队的工作效率,把那些手工的配置和管理都能够对接到平台上,可以统一管控,如果从业务价值和技术价值的角度来衡量,其实目前来看技术价值有的,业务价值不高,但是如果能够落地,那么业务价值会远大于技术价值,技术工作就是如此,没开始的时候能够天马行空,但是要落到实处,需要付出很多的努力。

之前分享过一起 OpsManage的想法,有很多朋友已经在部署试用了,很多朋友问我一些部署的细节,或者说这个方案是否可以满足工作中的绝大多数需求,我想说的是,应该不会,我认为它最大的优点在于可以减少技术从0开始的复杂度,让你可以快速迭代开发。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2017-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DevOps时代的专栏

探索持续部署的过程 | 译文

解释持续部署(CDP)很容易。实施它非常困难,因为其中的挑战往往是隐蔽的和不可预期的。根据您的流程、体系结构和代码的成熟度,您可能会发现真正的问题不在于持续部署...

822
来自专栏Rainbond开源「容器云平台」

干货下载:谷歌、亚马逊等十大公司微服务案例精选

2684
来自专栏哲学驱动设计

OEA 框架演示 - 快过原型的开发

    OEA框架经过几次较大的重构后,已经慢慢地变得成熟。     09年末、10年初的时候,我们发布了《OEA1.0》。至今也一年多了,中间我们并没有发布它...

2575
来自专栏WeTest质量开放平台团队的专栏

双十一临近,电商产品如何保持最优的性能体验?

十一月临近,一年一度的电商大戏“双十一”又将隆重出场,目前各大商家已经开始各类优惠券的发放,各类大促的商品表单也已经提前流出,即将流入各个用户的购物车中。

1182
来自专栏流柯技术学院

系统吞吐量(TPS)、用户并发量、性能测试概念和公式

  一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。

5601
来自专栏云计算D1net

私有存储云如何构建?

构建内部的云存储必须考虑到弹性、选择正确的平台、支持工作流,以及批量部署和跟公有云的集成。 随着时间的推移,存储即服务的交付进展惊人。如今,公有云,如Amazo...

4425
来自专栏腾讯云数据库(TencentDB)

Redis云端架构深入浅出

作者介绍:邹鹏,腾讯云数据库Redis产品负责人,多年数据库、网络安全研发经验。在网络、计算、存储、安全等领域有深入的研究和丰富的产品化经验。 在Redis、M...

9.9K15
来自专栏DevOps时代的专栏

无服务器化的微服务持续交付

前言 我在刚进入 ThoughtWorks 的时候就做微服务,当时不知道什么叫做微服务,只是我们通过一个小的技术应用替换原先的大应用的一个部分,当时只是做一个解...

3576
来自专栏互联网数据官iCDO

在微信小程序里,我们要怎样做数据分析

近期本来打算系统的写一下App数据分析的套路,但忽然“微信小程序”发布了。作为一名信仰互联网和做数据分析多年的“老司机”,看到新事物我也是很兴奋的。不过我还没看...

9255
来自专栏云计算D1net

如何成功地实现混合云应用集成

在混合云环境中,很难确保所有应用程序都能很好地组合在一起。行业专家将帮助人们思考这一过程。 ? 越来越明显的是,很多采用云计算的企业采用的是混合云。如果应用程...

32911

扫码关注云+社区

领取腾讯云代金券