原来XXL-JOB可以这么造

时间:2023-02-10 21:07:18

XXL-JOB零改造迁移

过去我们的xxl-job服务需要到github上面自己拉取对应的xxl-job服务源码,打包,部署到自己公司的服务器,然后通过nginx做负载均衡,配置DNS域名解析,最终才能看到xxl-job在浏览器端的展示,通常是这样的

原来XXL-JOB可以这么造

那么现在在这里,我们将基于Serverless应用引擎SAE(Serverless App Engine)对我们传统的XXL-JOB进行零改造迁移。

创建SAEJobHandler

登录sae控制台,控制台地址:​​https://sae.console.aliyun.com/​​,选择任务模板列表

原来XXL-JOB可以这么造

点击【创建任务模板】

原来XXL-JOB可以这么造

内容输入完成后点击【下一步】进行配置

原来XXL-JOB可以这么造

这里语言选择比较熟悉的java,JAR包地址其实就是将开源的xxl-job​https://github.com/xuxueli/xxl-job​的xxl-job-executor-sample-springboot打包之后上传在了sae里面,然后继续点击【下一步】

原来XXL-JOB可以这么造


这里cron表达式先随便填一个,根据情况决定,点击【下一步】

原来XXL-JOB可以这么造


确认完信息之后点击【确定创建】,完成任务模板创建。

点击【手动执行任务】跳转到任务记录列表

原来XXL-JOB可以这么造


此时可以点击【任务id】查看任务执行日志

原来XXL-JOB可以这么造


点击【实时日志】可以看到任务执行日志,对于这个SAEJobHandler,可能既是我们通常理解的JobHandler,又不是我们通常理解的JobHandler,日常工作中我们在用xxl-job的时候,会需要先去拉取xxl-job服务源码,然后打包部署服务,再开发对应的业务代码通过注册业务代码的ip地址到xxl-job服务的执行器管理,最后配置实现定时任务调用。而SAE是直接先创建一个空的执行器启动,然后其他的业务执行器可以直接引用这个执行器来加载执行。

原来XXL-JOB可以这么造


日志显示服务启动成功,端口9999。

创建doJobHandler

这里的doJobHandler可以理解为业务jobHandler

原来XXL-JOB可以这么造

点击【下一步】进入配置页面

原来XXL-JOB可以这么造

配置页面汇总,其他内容跟上一个一样,红框处有改动,继续点击【下一步】到创建成功

原来XXL-JOB可以这么造

点击【手动执行任务】,可以查看实时日志

原来XXL-JOB可以这么造

展示执行成功。

使用过程中的疑惑

首先来说我为什么会想到写关于Serverless应用引擎SAE的内容,因为我看到了【XXL-JOB零改造迁移】,因为日常工作中经常会用到XXL-JOB服务,所以看到这个标题就会很感兴趣,然后就根据说明文档进行了基础的配置操作来 体验一下xxl-job零改造迁移。

整体操作下来的话,操作很流畅,很快就得到了实验成功的结果,但是有一点疑惑的是如何才能将现有的业务代码融合进当前这一套配置中呢,过去的定时任务项目中引入xxl-job的jar包之后,配置对应的xxl-job服务地址,如图

原来XXL-JOB可以这么造

就可以实现在xxl-job服务器上的服务注册

那么现在在Serverless应用引擎SAE平台配置xxl-job并没有区分xxl-job的服务端和客户端,那么实际的业务项目应该引入xxl-job对应的什么jar包以及如何操作才能上传在SAE平台的定时任务模板中,并没有详细的说明,文档只说明了如何配置定时任务模板,不够详细,文档地址:​​https://help.aliyun.com/document_detail/432503.html​​。

这些只是我对这款产品了解的不够透彻才有的担忧,毕竟我所用到的只是SAE众多功能中的一角,不是核心的功能,因此不完善也是有可能的,希望SAE后续文档不断丰富,demo也不断丰富,让每一个简单的技术人简单的接入SAE。