调度失败:执行器地址为空_你应该知道的任务调度平台XXL-JOB

调度失败:执行器地址为空_你应该知道的任务调度平台XXL-JOB

2023年7月21日发(作者:)

调度失败:执⾏器地址为空_你应该知道的任务调度平台XXL-JOB背景⽇常开发中,我们难免会遇到需要处理⼀些定时任务,⽽且这些定时任务还需要灵活的调度,并且在异常的情况下需要做的重试或者报警。这些任务我们希望能灵活配置,并且能及时⽣效,不需要经常发版本更新代码。 所以我们希望能有⼀个这样的平台,能满⾜我们的这些需求。感谢开源社区,已经有了很好的解决⽅案,就是 XXL-JOB。 本⽂介绍的版本是基于 XXL-JOB的1.9.0版本,新版本调度中⼼ Admin已经切换为 SpringBoot 项⽬了。介绍XXL-JOB是⼀个轻量级分布式任务调度平台,其核⼼设计⽬标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接⼊多家公司线上产品线,开箱即⽤。 中⽂⽂档地址XXL-JOB由两个模块组成分为调度中⼼和执⾏器,作者许雪⾥的开源项⽬,感谢⼤佬。调度中⼼搭建从release拉取最新代码根据⾃⼰的需要配置xxl-job-admin中ties⽂件中的数据源信息以及账号密码,以及accessToken和邮件服务器地址等信息配置中⽇志的路径将xxl-job-admin打包成war包,部署到tomcat中即可执⾏器配置新建Springboot项⽬,中引⼊xxl-job的核⼼库i xxl-job-core 1.9.0配置⽂件中配置调度中⼼的地址和⼀些具体参数编写jobHandler,继承IJobHandler实现内部execute⽅法,具体的业务逻辑就在这个⽅法⾥⾯实现。这种⽅式是通过 Java 代码来执⾏定时任务的,除了 JavaBean ⽅式还⽀持 Python,nodeJs,Shell 等⽅式。 我最喜欢的是 Python ⽅式,因为 Python 在处理简单的定时任务的时候还是⽐较得⼼应⼿的,⽽且很快速,但是稍微复杂⼀点的就不⽅便了,⽽且 Python 可以直接在WebIDE ⾥⾯直接粘贴代码,实现功能,就不⽤发版本了,但是具体的需要看具体的业务。@Service@JobHandler(value = "demoHandler")public class DemoHandler extends IJobHandler { @Override public ReturnT execute(String s) throws Exceptio新增任务配置好调度中⼼并且也成功启动了执⾏器后,登录调度中⼼新增执⾏器然后就可以配置任务了新增执⾏器新增任务新增任务的时候需要选择上⼀步创建的执⾏器,选择运⾏模式,如果是 JavaBean ⽅式就配置JobHandler,或者选择 Python 模式等,然后填上必要的⼀些信息,如Cron以及⼀些参数 具体配置可以参考三、任务详解 这⾥的配置项⽐较多。配置完成后可以如下,可以⼿动执⾏,暂停,查看⽇志,如果是Python 模式可以直接点击GLUE按钮进去填写代码,相关的代码也有版本回溯,⽅便回滚,⼗分⽅便。⼩结整个 XXL—JOB 都是⽀持分布式部署的,⽽且执⾏器也可以配置多个,具体的路由策略也是可以配置的,⼗分⽅便。新版本的调度中⼼Admin 已经升级为 SpringBoot 项⽬了,⽽且项⽬本⾝就携带了很多类型的执⾏器可以使⽤,基本上实现了开箱即⽤,只要添加⾃⼰的业务逻辑就可以了。不过整个 XXL-JOB 有个缺点就是没有权限管理,执⾏器没有实现权限控制,这个⽬前作者没有实现,应该在后续的版本中会增加,这个在作者的 todo list ⾥⾯,但是具体什么时候实现就不知道了。⽬前我们这边项⽬已经在线上跑了差不多⼀年了,还是⽐较稳定的,⽽且只是组内使⽤,没有执⾏器权限的问题,但是如果要是上升到公司级别,让各个组⽤的话权限还是⼀个重要的点。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689929965a295206.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信