Github

task scheduler

crawlab

crawlab 是一个基于 go 语言实现的跨语言分布式爬虫管理平台,数据库使用的是 mogodb,支持定时任务、优先级设置、爬虫分组等功能。官方还提供了 docker-compose.yml 文件,可以一键部署。下面是其 web 界面,简单感受一下:
image.png
image.png
image.png
image.png

gocron

gocron 是一个基于 go 语言实现的分布式定时任务管理系统,支持两种任务,一种是 shell 任务,另一种是 http 任务,这里 http 任务指的是调度器去执行给定 url 的任务。其它的功能还有日志打印、结果通知等,当然,web 界面是不能少的,下面来看看它的 web 界面image.pngimage.png

jiacrontab

jiacrontab 是一个基于 go 语言的轻量级分布式 shell 任务管理工具,web 页面如下:
image.png
image.png

xxl-job

xxl-job 是一个基于 java 的分布式任务调度平台,这是一个老牌调度平台,有关分布式任务调度的一切在这个项目都可以找到,同时有超过 400 多家的企业接入此项目,足以证明此项目的必有其独到之处,不多说了,简单体会一下吧:
image.png
额,之前测试的时候设置的定时任务,放了几天没管居然调度了 20 多万次,尴尬😓

elasticjob

java 的另一个分布式调度系统就是这个了,它是 apache 下的一个项目,其由两个子项目组成,分别是 elasticjob-lite 和 elasticjob-cloud,elasticjob-lite 提供分布式任务分片服务的轻量级、去中心化解决方案,elasticjob-cloud 使用 Mesos 来管理和隔离资源。同时,elasticjob 使用了 zookeeper 作为它的注册中心,最重要的是 elasticjob 最近还在持续迭代,文档才刚刚更新,有兴趣的自己可以去 github 看源码哦!下面是 elasticjob 的架构图:
image.png
image.png