• XXL-JOB+钉钉群通知 看我骚操作


    最近突然觉得不写博客又开始偷懒了,决定把定时任务结合钉钉群机器人的模式简单介绍下备忘。

    背景是产品经理每次数据分析都要找后端同事要数据报表,索性做个定时任务,最好还能直接推送到钉钉群。定时任务之前一直是在springboot项目内开发,对定时任务管理服务早有耳闻,能把业务微服务和定时任务解耦,统一管理定时任务等好处,这次选型安排上。钉钉群机器人有发送群消息的功能,看了官方的api功能齐全,可以文字可以链接(资源连接可下载),还可以@某人。两者配合岂不美滋滋,感觉可以搞。

    1.xxl-job

    首先部署xxl-job调度中心,可以下载git官方源码本地编译打包部署也可以docker镜像下载部署,自行查阅。即使是docker部署的建议下载源码,里面还有自带的demo用例,不管springboot还是传统mvc都有。

    通过注解@XxlJob的方式申明式的编写自己的定时任务逻辑。后续在调度中心选择好你的执行器后,选择的定时任务就是你@XxlJob的value。老规矩一图胜万言。

    2.钉钉群机器人

    钉钉群机器人的使用方法

    可以查阅官方文档,使用也很简单。

    step1:创建钉钉群,启用机器人,记录下serverurl含access_token及对应的secret。

    step2:根据自己业务需要选择合适的发送模板,制定好规则测试发送。(机器人目前不支持直接发送附件,所以把统计好的excel放到ftp服务上,再把对应的ftp地址发送出去,供群成员下载)

    建议把dingtalk消息发送整理成工具类放到公共组件。

    3.设计该有的样子

    a.考虑钉钉机器人配置信息、消息模板配置信息、定时任务和钉钉机器人的关联关系、定时任务和消息模板的关联关系建立表结构。达到定时任务处理结束,根据关联关系拿到消息模板,再根据关联关系

    循环发送到诺干个机器人。这部分代码统一。

    b.执行器项目下抽离xxl-job相关配置,统一放到component-xxk-job组件下,达到公司内部其他项目可以开箱即用。

    4.效果展示

    点击下载数据统计文件

  • 相关阅读:
    shallow update not allowed
    GH001 on github
    Castle动态代理拦截
    Spring Boot : Whitelabel Error Page解决方案
    Springboot 之 Hibernate自动建表(Mysql)
    hibernate.hbm2ddl.auto配置详解
    【Spring boot】第一个项目 Springboot + mysql + hibernate
    【持久化框架】Mybatis与Hibernate的详细对比
    Hibernate基本原理(一)
    Hibernate各种主键生成策略与配置详解
  • 原文地址:https://www.cnblogs.com/xuetieqi/p/14595773.html
Copyright © 2020-2023  润新知