一款分布式任务调度管理平台。一个任务仅会被服务器集群中的某个节点调度,调度机制基于成熟的Quartz,antares内部会重写执行逻辑;用户可通过对任务预分片,有效提升任务执行效率;antares通过ip+进程号标识客户端应用实例,因此支持单机多应用实例部署;用户可通过控制台antares-tower对任务进行基本操作,如触发,暂停,监控等;antares支持树形任务依赖,当某任务执行完成后,会通知其后置任务执行。
# 作业/任务调度
Juice 是沪江学习系统项目组所开发的一套基于 Mesos Framework 的分布式任务调度云系统,基于此系统,可以实现任何作业型任务的调度工作。耗时计算型任务处理在沪江一直是个持续的需求,例如多媒体转码、Map Reduce、密集计算等等任务。在 Juice 出现以前,各个项目组各显神通,开发着不同的任务处理系统,不但耗费人力,还特别耗费服务器。Juice 利用 Mesos 集群空闲的计算能力,负责统一的接口返回和任务查询功能,其优点如下:
Java 分布式作业流调度框架 Hydra-IoHydra 是由 Java 实现的作业流调度框架,它可以支持复杂作业流的调度。
Quartz提供两种基本作业存储类型。第一种类型叫做RAMJobStore,第二种类型叫做JDBC作业存储。在默认情况下Quartz将任务调度的运行信息保存在内存中,这种方法提供了最佳的性能,因为内存中数据访问最快。不足之处是缺乏数据的持久性,当程序路途停止或系统崩溃时,所有运行的信息都会丢失。一个执行类加一个任务即可完成任务调度,化繁为简。执行类的方法强烈推荐返回值:string,入参强烈推荐基本数据类型,当然理论上支持无参方法以及无返回值方法。
使用 Quartz 和 layer 编写的一个简单的任务调度项目
Cloudtask后端为无状态服务,通过 `Zookeeper` 实现集群各节点间的发现与协调,节点以心跳方式注册到注册中心,中心服务器统一管理着所有集群,任务调度以集群方式进行分配,具有良好的可扩展性,任务分配信息按集群划分并将分配数据存储到 `Zookeeper` 节点,保持分配数据的一致性。
LiteCron 是一个基于 Go 的分布式计划任务运行框架,可以很容易的集成到 web app 中。它基于 Redis 实现分布式锁,无需特别的存储依赖。案例在 web app 中运行计划任务。构建分布式计划任务服务以替换系统计划任务服务。
Dramatiq是一个 Python 3 分布式任务处理库,特点是简单、可靠和高性能。$pipinstall-Udramatiq[redis,watch]具体使用方法阅读Motivation或User Guide。
基于TBSchedule官方3.2.18的重置版。TBSchedule具有框架轻、0入侵、效率高等诸多特点,无奈官方于3.3.3.2版本后停止了升级与BUG修复。如此好的分布式任务调度框架弃之可惜,所以就让作者来捡个便宜吧。
分布式批量架构是解决复杂业务处理、数据分析、科学计算等耗时工作任务,这些任务被安排在特定的服务器上执行,被统一规划、拆分成子任务、统一调度、并发执行,大大提高了执行效率和可靠性,另外异步批量架构可以部署在网络内的任意服务器或PC上形成企业的云计算。
特性- 基于Quartz开发,支持集群和单机两种运行模式。- 详细的任务历史记录(执行时间、执行节点、耗时、日志、状态、触发方式等等。。。
JTimer for JAVA项目介绍基于SpringBoot+layui秒级定时任务管理,取代crontab. 安装教程创建数据库jtimer,将src/main/resources目录下jtimer.sql导入。java-jarjtimer-0.0.1-SNAPSHOT.jar>jtimer-java.log2>&1&用户名密码:admin/admin
项目介绍轻量级 JS 任务调度工具,允许并行数控制,超时,重试,错误抓取,运行状态统计等,同时支持多种调度模式,包括立即调度、按频率调度等。为什么说任务执行队列对 JS 来说比其它热门语言更为重要?由于Promise的执行代码在创建的时刻就已经被执行,所以简单把Promise扔进Bobolink是不可行的
liteflow是一个基于DAG来实现的分布式任务流调度系统,较azkaban等调度系统,liteflow增加了一些自己的特性:
Easy Scheduler是一个分布式数据工作流任务调度系统,主要解决数据研发ETL错综复杂的依赖关系,而不能直观监控任务健康状态等问题。Easy Scheduler以DAG流式的方式将Task组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及Kill任务等操作。
Cadence 是 Uber 开发的一个分布式,可扩展,持久且高度可用的编排引擎,以可扩展和弹性的方式执行异步长期运行的业务逻辑。其唯一目的是协调活动执行。此外,工作人员可以实现为完全无状态的服务,这反过来允许无限制的水平扩展。Cadence服务器代理并持久保存在工作流执行期间生成的任务和事件,这为工作流执行提供了某些可伸缩性和可靠性保证。单个活动执行不具有容错能力,因为它可能由于各种原因而失败。
OptaPlanner 是一款轻量级、可嵌入的规划调度引擎,100% 使用 Java 编写,可运行在任何 JVM 上。OptaPlanner 做的恰好就是提供更有效的规划方案,以提高服务质量并降低成本。在问题建模方面,OptaPlanner 的约束作用在普通的域对象上,且无需键入复杂的数学公式,可以重复使用现有代码。在问题求解方面,OptaPlanner 结合了许多复杂的启发式和元启发式算法,能够提供非常有效的优化服务。
GoAlert 是一个待机任务调度与警报工具,支持自动上报与通知,以在正确的时间以正确的方式自动通知到对应的负责人。可以自定义 GoAlert 给他人发送通知,保证在你不方便的时候也不会错过任何警报 管理团队任务,控制待机人员并快速查看相关信息 GoAlert 为现有监控和遥测系统的外部集成提供了便利的选项 可以通过适合移动设备的 Web UI 或简单的单字符 SMS 回复来确认和关闭警报
Volcano 是基于 Kubernetes 的批处理系统,源自于华为云 AI 容器。Volcano 方便 AI、大数据、基因、渲染等诸多行业通用计算框架接入,提供高性能任务调度引擎,高性能异构芯片管理,高性能任务运行管理等能力。机器学习/深度学习 生物信息学/基因组学 其他“大数据”应用这些类型的应用程序通常运行在Volcano集成的Tensorflow,Spark,PyTorch,MPI等通用域框架上。
安科网(Ancii),中国第一极客网
Copyright © 2013 - 2019 Ancii.com
京ICP备18063983号-5 京公网安备11010802014868号