分类分类
大小:2.3 MB 更新:2024/12/27
类别:其他软件系统:WinAll
PowerJob 是一款功能非常强大专业的新一代分布式任务调度与计算框架,该框架的设计目标为企业级的分布式任务调度平台,即成为公司内部的调度中间件,支持CRON、API、固定频率、固定延迟等调度策略,提供工作流来编排任务解决依赖关系,可以说是整个公司统一部署调度中心;PowerJob 这款分布式任务调度与计算框架界面简洁直观、操作简单便捷,功能强大、文档齐全,旗下所有业务线的应用只需要依赖powerjob-worker即可接入获取任务调度与分布式计算能力,通过不同的appName相互隔离、互不影响。
定时调度 精准而优雅
PowerJob内置了CRON 表达式、固定频率和固定延迟 3 种最常用的定时策略,同时提供 OpenAPI 作为扩展能力。
用户可以通过 OpenAPI 轻松定制自己的调度策略,扩展 PowerJob 调度层。
还额外提供了强大的“延迟执行”方法,消息中间件不再是唯一选择!
分布式计算如此简单,如此强大
PowerJob 除了基础的任务调度能力外,还提供了一套完整的分布式计算解决方案。
用户只需要实现指定的“Map/MapReduce” 处理器,就可以用寥寥数行代码调动整个集群参与计算,是您处理大批量业务数据的不二之选!
工作流任务依赖,不再烦恼
PowerJob内置了强大的工作流调度引擎,同时为用户提供友好的前端界面可视化地完成任务的编排。
在前端页面拖拖拽拽即可解决复杂任务依赖的烦恼。
监控、报警、运维样样齐全
通过 PowerJob 前端控制台,您可以轻松监测任务的一举一动,整体运行状态净收眼底。
此外,PowerJob 还提供在线日志、在线运维等功能,无论哪一样,都是开发和调试的好帮手。
高可用、高可靠、高性能
PowerJob 有着经过精心设计的分布式架构,任意组件都支持多实例集群部署来保证可用性和可靠性。
同时,基于“无锁化设计”的调度服务器和支持 “MapReduce”的执行器节点都能够通过水平扩展来获取性能的提升。
使用简单
提供前端Web界面,允许开发者可视化地完成调度任务的管理(增、删、改、查)、任务运行状态监控和运行日志查看等功能。
定时策略完善
支持CRON表达式、固定频率、固定延迟和API四种定时调度策略。
执行模式丰富
支持单机、广播、Map、MapReduce四种执行模式,其中Map/MapReduce处理器能使开发者寥寥数行代码便获得集群分布式计算的能力。
工作流支持
支持在线配置任务依赖关系(DAG),可视化得对任务进行编排,同时还支持上下游任务间的数据传递。
执行器支持广泛
支持Spring Bean、内置/外置Java类、Shell、Python等处理器,应用范围广。
运维便捷
支持在线日志功能,执行器产生的日志可以在前端控制台页面实时显示,降低debug成本,极大地提高开发效率。
依赖精简
最小仅依赖关系型数据库(MySQL/PostgreSQL/Oracle/MS SQLServer...)
高可用&高性能
调度服务器经过精心设计,一改其他调度框架基于数据库锁的策略,实现了无锁化调度。部署多个调度服务器可以同时实现高可用和性能的提升(支持无限的水平扩展)。
故障转移与恢复
任务执行失败后,可根据配置的重试策略完成重试,只要执行器集群有足够的计算节点,任务就能顺利完成。
STEP1: 初始化项目
git clone https://github.com/PowerJob/PowerJob.git
导入 IDE,源码结构如下,我们需要启动调度服务器(powerjob-server),同时在samples工程中编写自己的处理器代码
STEP2: 启动调度服务器
创建数据库(仅需要创建数据库):找到你的DB,运行SQLCREATE DATABASE IF NOT EXISTS `powerjob-daily` DEFAULT CHARSET utf8mb4,搞定~
修改配置文件,配置文件的说明官方文档写的非常详细,此处不再赘述。需要修改的地方为数据库配置spring.datasource.core.jdbc-url、spring.datasource.core.username和spring.datasource.core.password,当然,有mongoDB的同学也可以修改spring.data.mongodb.uri以获取完全版体验。
3.完成配置文件的修改后,可以直接通过启动类
com.github.kfcfans.powerjob.server.OhMyApplication启动调度服务器,观察启动日志,查看是否启动成功~启动成功后,访问 http://127.0.0.1:7700/ ,如果能顺利出现Web界面,则说明调度服务器启动成功!
4.注册应用:点击主页应用注册按钮,填入powerjob-agent-test和控制台密码(用于进入控制台),注册示例应用(当然你也可以注册其他的appName,只是别忘记在示例程序中同步修改~)
STEP3: 编写示例代码
进入示例工程(powerjob-worker-samples),修改配置文件连接powerjob-server并编写自己的处理器代码。
1.修改 powerjob-worker-samples 的 application.properties,将 powerjob.worker.app-name 改为刚刚在控制台注册的名称。
2.编写自己的处理器:随便找个地方新建类,继承你想要使用的处理器(各个处理器的介绍可见官方文档,文档非常详细),这里为了简单演示,选择使用单机处理器BasicProcessor,以下是代码示例。
3.启动示例程序,即直接运行主类com.github.kfcfans.powerjob.samples.SampleApplication,观察控制台输出信息,判断是否启动成功。
STEP4: 任务的配置与运行
调度服务器与示例工程都启动完毕后,再次前往Web页面( http://127.0.0.1:7700/ ),进行任务的配置与运行。
1.在首页输入框输入配置的应用名称,成功操作后会正式进入前端管理界面。
2.点击任务管理 -> 新建任务(右上角),开始创建任务。
任务名称:名称
任务描述:描述
任务参数:任务处理时能够获取到的参数(即各个Processor的process方法入参TaskContext对象的jobParams属性)(进行一次处理器开发就能理解了)
定时信息:该任务的触发方式,由下拉框和输入框组成
API -> 不需要填写任何参数,表明该任务由OpenAPI触发
CRON -> 填写 CRON 表达式(在线生成网站)
固定频率 -> 任务以固定的频率执行,填写整数,单位毫秒
固定延迟 -> 任务以固定的延迟执行,填写整数,单位毫秒
工作流 -> 不需要填写任何参数,表明该任务由工作流(workflow)触发
执行配置:由执行类型(单机、广播和MapReduce)、处理器类型和处理器参数组成,后两项相互关联。
内置Java处理器 -> 填写该处理器的全限定类名(eg, com.github.kfcfans.oms.processors.demo.MapReduceProcessorDemo)
Java容器 -> 填写容器ID#处理器全限定类名(eg,18#com.github.kfcfans.oms.container.DemoProcessor)
SHELL -> 填写需要处理的脚本(直接复制文件内容)或脚本下载链接(http://xxx)
PYTHON -> 填写完整的python脚本或下载链接(http://xxx)
运行配置
最大实例数:该任务同时执行的数量
单机线程并发数:该实例执行过程中每个Worker使用的线程数量(MapReduce任务生效,其余无论填什么,都只会使用必要的线程数...)
运行时间限制:限定任务的最大运行时间,超时则视为失败,单位毫秒,0代表不限制超时时间(不建议不限制超时时间)。
重试配置:
Instance重试次数:实例级别,失败了整个任务实例重试,会更换TaskTracker(本次任务实例的Master节点),代价较大,大型Map/MapReduce慎用。
Task重试次数:Task级别,每个子Task失败后单独重试,会更换ProcessorTracker(本次任务实际执行的Worker节点),代价较小,推荐使用。
注:请注意同时配置任务重试次数和子任务重试次数之后的重试放大,比如对于单机任务来说,假如任务重试次数和子任务重试次数都配置了1且都执行失败,实际执行次数会变成4次!推荐任务实例重试配置为0,子任务重试次数根据实际情况配置。
机器配置:用来标明允许执行任务的机器状态,避开那些摇摇欲坠的机器,0代表无任何限制。
最低CPU核心数:填写浮点数,CPU可用核心数小于该值的Worker将不会执行该任务。
最低内存(GB):填写浮点数,可用内存小于该值的Worker将不会执行该任务。
最低磁盘(GB):填写浮点数,可用磁盘空间小于该值的Worker将不会执行该任务。
集群配置
执行机器地址:指定集群中的某几台机器执行任务(debug的好帮手),多值英文逗号分割,如192.168.1.1:27777,192.168.1.2:27777
最大执行机器数量:限定调动执行的机器数量
报警配置:选择任务执行失败后报警通知的对象,需要事先录入。
3.完成任务创建后,即可在控制台看到刚才创建的任务,如果觉得等待调度太过于漫长,可以直接点击运行按钮,立即运行本任务。
4.前往任务示例边栏,查看任务的运行状态和在线日志
有定时执行需求的业务场景:如每天凌晨全量同步数据、生成业务报表等。
有需要全部机器一同执行的业务场景:如使用广播执行模式清理集群日志。
有需要分布式处理的业务场景:比如需要更新一大批数据,单机执行耗时非常长,可以使用Map/MapReduce处理器完成任务的分发,调动整个集群加速计算。
有需要延迟执行某些任务的业务场景:比如订单过期处理等。
CIMCO Edit 其他软件276.25 MB7.5 简体中文版
详情CKplayer网页播放器 其他软件336 KB6.6 免费版
详情WordPress 其他软件6.7 MB4.1 英文版
详情Discuz论坛 其他软件4.05 MB官方版
详情Guns后台管理系统 其他软件12.5 MBv7.0.3 官方版
详情狂雨小说cms 其他软件7.8 MBv1.3.2 官方版
详情Slidev(开发幻灯片展示) 其他软件8.52 MBv0.10.2 官方版
详情魔众短链接系统 其他软件27.5 MBv2.0.0 官方版
详情易语言资源网源码下载工具 其他软件1.51 MBv1.0 免费版
详情W5 SOAR(自动化响应平台) 其他软件6.8 MBv0.4 官方版
详情魔众文档管理系统 其他软件28.8 MBv3.0.0 官方版
详情Milvus(矢量数据库) 其他软件6.0 MBv1.1.0 官方版
详情FlatBuffers(序列化库) 其他软件1.95 MBv2.0.0 官方版
详情Wendasns(问答社区系统) 其他软件7.8 MBv1.1.5 官方版
详情DM企业建站系统 其他软件14.0 MBv2021.5a 官方版
详情Ember.js(JavaScript框架) 其他软件1.66 MBv3.27.0 官方版
详情Exifr(EXIF读取库) 其他软件42.1 MBv7.0.0 官方版
详情RavenDB数据库 其他软件64.5 MBv5.1.7 官方版
详情iWebShop(开源商城系统) 其他软件11.5 MBv5.9.210101 官方版
详情OElove(婚恋交友系统) 其他软件28.7 MBv8.1 官方版
详情点击查看更多
ThinkSNS 其他软件20 MB4.6.1 免费版
详情CKplayer网页播放器 其他软件336 KB6.6 免费版
详情vqqq.com带20000数据库的笑话程序 其他软件300 KB2.0 官方版
详情EXE文件加口令源代码 其他软件799 KB3.0 官方版
详情PPTV网络电视系统 其他软件1.27 MB4.0.1.0 官方版
详情建站专家网站建设系统 其他软件20.02 MB1.0.4.1819 官方版
详情Turbo C 2.0库函数速查 其他软件71 KB1.0 官方版
详情中国联通SGIP1.2短消息网关客户端程序 其他软件54 KB1.37 官方版
详情伤感文学CMS文章发布系统 其他软件4.11 MB2.0 官方版
详情娱乐先锋论坛 其他软件1.31 MB5.3 官方版
详情笔试考试源代码 其他软件1.17 MB1.0.0 官方版
详情Deluge For Linux 其他软件2.79 MB1.0.0 官方版
详情幻影留言版(ASP多用户版) 其他软件567 KB5.30 官方版
详情GeniusBBS 其他软件475 KB1.1 官方版
详情上机考试源代码 其他软件1.01 MB1.0.0 官方版
详情vqqq.com在线网页编辑asp源码 其他软件22 KB1.0.0 官方版
详情CIMCO Edit 其他软件276.25 MB7.5 简体中文版
详情狐狗网页源代码显示器 其他软件434 KBBuild1214 官方版
详情农业企业网站模板中英繁企业网站管理系统源码 其他软件2.18 MB2010 官方版
详情vqqq.com多用户ip统计asp源码 其他软件134 KB1.0.0 官方版
详情点击查看更多
欢乐拼三张单机版2025 休闲益智61.5MBv7.2.0
详情森林舞会飞禽走兽 休闲益智0MBv1.0
详情狂暴捕鱼官网504.1 休闲益智61.5MBv7.2.0
详情王道棋牌官网最新版 休闲益智61.5MBv7.2.0
详情琼星海南麻将官方下载安装2024 休闲益智61.5MBv7.2.0
详情彩民之家44666 生活服务68.2MBv1.7.1
详情老式水果机下载手机版 休闲益智0MBv1.0
详情角落棋牌官方网站 休闲益智61.5MBv7.2.0
详情开元棋脾595cc 休闲益智61.5MBv7.2.0
详情禅游斗地主下载抖音 休闲益智61.5MBv7.2.0
详情琼崖海南麻将15旧版下载 休闲益智61.5MBv7.2.0
详情彩虹多多极速版 生活服务33.2MBv9.9.9
详情ky棋牌网站大全98 休闲益智61.5MBv7.2.0
详情狂暴捕鱼官网有330.3版本 休闲益智61.5MBv7.2.0
详情888彩票网 生活服务33.2MBv9.9.9
详情牛牛下载金币版苹果 休闲益智61.5MBv7.2.0
详情老式水果机 休闲益智0MBv1.0
详情老式水果机单机版 休闲益智0MBv1.0
详情水果机游戏单机 休闲益智0MBv1.0
详情老式水果机下载 休闲益智0MBv1.0
详情点击查看更多