定时任务报警通知解决方案详解

这篇具有很好参考价值的文章主要介绍了定时任务报警通知解决方案详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是定时任务

定时任务是每个业务常见的需求,比如每分钟扫描超时支付的订单,每小时清理一次数据库历史数据,每天统计前一天的数据并生成报表等等。

随着微服务和云计算的兴起,定时任务技术也是发展迅速,不仅能做单机的定时任务,而且在分布式系统下应用也很广泛,成为了业务做兜底、数据处理的第一选择。

二、定时任务为什么需要通知

定时任务现在在业务数据处理中的比重越来越重,如果业务数据处理失败了,需要及时通知到业务方,确保了服务的可靠性和稳定性。同时,好的定时任务通知系统,还能分析任务失败的原因(比如堆栈信息)并通知给业务方,帮助用户快速定位问题。

定时任务报警通知解决方案详解

根据通知的类型,大概可以有以下几类:

  • 成功通知:任务执行成功,把结果通知给用户。比如统计前一天的数据并把GaaP结果通过短信等渠道发送给对应负责人。
  • 超时通知:任务执行超时,通知用户。
  • 失败通知:任务执行失败,通知用户。
  • 机器异常通知:运行的机器下线或者繁忙,通知用户。

三、自研定时任务报警通知

如果是自研的定时任务系统,或者使用了开源定时任务框架(比如Quartz),想要增加报警通知能力,我们可以采取什么方案呢?从实时性角度来看,短信和电话通知实时性最高,但是这两种方案需要比较大的成本,比如短信通知需要短信平台。如果没有短信平台,我们也可以采用邮件和webhook通知。

3.1、邮件

每个邮件服务器都由SMTP服务器和POP3服务器构成,其中SMTP服务器负责发邮件的请求,而POP3负责收邮件的请求。通过SMTP与POP3即可实现邮件的收发。

定时任务报警通知解决方案详解

邮件发送原理图

  1. 配置邮件服务器

以网易163邮件为例,在发送方邮箱设置里,开启POP3/SMTP服务文章来源地址https://www.toymoban.com/news/detail-434651.html

  1. 以Java代码为例,发送邮件的demo
import org.junit.Test;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Properties;
public class SendMailDemo {
    public static void main(String[] args) throws Exception {
        Properties prop = new Properties();
        prop.setProperty("mail.host","smtp.163.com");//设置发送方邮箱服务器
        prop.setProperty("mail.transport.protocol","smtp");//邮件发送协议
        prop.setProperty("mail.smtp.auth","true");//需要验证用户名密码
        Session session = Session.getDefaultInstance(prop);
        Transport ts = session.getTransport();
        String mailUser = "xxx@163.com"; //邮箱的账号
        String mailPasswd = "123456789"; //邮箱的密码
        ts.connect("smtp.163.com", mailUser, mailPasswd);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(mailUser));
        //

到了这里,关于定时任务报警通知解决方案详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux(centos7)定时关机解决方案

    使用场景与痛点:        根据实际需求,每个星期五都要关闭服务器若干,痛点如下: 1是服务器比较多,按起来麻烦。 2是因为周五时间点特殊,着急下班容易忘记关闭服务器。 那些要关注才能看的博客,不是我喷,写的不咋地,还TNN的要关注,有毛病 解决方案:    

    2024年02月11日
    浏览(28)
  • Go异步任务解决方案 Asynq

    今天为大家介绍一个Go处理异步任务的解决方案:Asynq,是一个 Go 库,用于排队任务并与 worker 异步处理它们。它由Redis提供支持,旨在实现可扩展且易于上手。 Asynq 是一个 Go 库,用于对任务进行排队并与工作人员异步处理它们。 Asynq 工作原理的高级概述: 客户端将任务放入

    2024年01月17日
    浏览(32)
  • 【go】异步任务解决方案Asynq实战

    Asynq 是一个 Go 库,一个高效的分布式任务队列。 Asynq 工作原理: 客户端(生产者)将任务放入队列 服务器(消费者)从队列中拉出任务并为每个任务启动一个工作 goroutine 多个工作人员同时处理任务 git库:https://github.com/hibiken/asynq Asynq 使用 Redis 作为消息代理。client 和 se

    2024年02月10日
    浏览(31)
  • freeswitch的任务引擎问题与解决方案

      freeswitch核心框架中有一个定时任务系统task,在开发过程中用来做一些延时操作和异步操作很方便。 我们在VOIP的呼叫流程中,经常会有一些对实时性要求没那么高的操作,或者会有阻塞流程的操作,我们都可以开启一个定时任务子流程,来达到延时和异步的目标。 但是在

    2023年04月27日
    浏览(19)
  • 任务管理器显示不全的解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作

    2024年02月08日
    浏览(25)
  • MSB4018 “ResolvePackageAssets”任务意外失败 解决方案

    使用Vs2019,发现新创建的代码,也无法正常编译, 尝试过用visual自带的修复功能;去官网升级Nuget;甚至卸载Nuget;也无法解决. 详细报错内容如下 查询若干方法后,发现 解决方案 就藏在第二排提示中 Unable to find fallback package folder ‘D:MicrosoftXamarinNuGet’. ** 新建一个空目录 folder ‘

    2024年02月12日
    浏览(32)
  • Linux Crontab定时执行脚本出错,但手动执行脚本正常原因及解决方案

    实际开发场景 需要开发一个Flink监控程序,初步使用shell脚本进行监控,如果发现失败了,则自动重新运行Flink命令行参数进行重启。 遇到的问题 编写好shell脚本后,在linux命令行调用 sh shell.sh进行测试,成功实现监控和重启功能。于是利用crontab对脚本进行定时调度监控。 后

    2024年02月15日
    浏览(39)
  • Linux Crontab定时执行脚本不执行,但手动执行脚本正常原因及解决方案

    使用rsync作为备份工具,实现电子文件的增量备份,写了一个脚本,在linux命令行调用 sh shell.sh进行测试,成功实现了电子文件的备份功能,然后在Crontab增加了定时任务,每天凌晨1点进行同步。 后来发现文件同步失败了,后来排查发现应该是脚本虽然被执行,但是没有成功,

    2024年02月08日
    浏览(43)
  • Ajax_4(进阶)同步异步+ 宏任务微任务 + Promise链 + async终极解决方案 +事件循环原理 + 综合案例

    01-同步代码和异步代码 什么是同步代码? 同步代码:逐行执行,需要原地等待结果后,才继续向下执行。 什么是异步代码? 调用后耗时,不阻塞代码继续执行,(不必原地等待),在将来完成后 触发一个 回调函数 。 代码阅读 目标:阅读并回答代码执行和打印的顺序 打印

    2024年02月13日
    浏览(32)
  • 【Windows优化篇】Windows11系统卡顿、AMD电脑卡顿、任务栏消失解决方案

    Windows11太多bug,与A卡兼容一般。断开电源,强制关机,再开机!!!—【蘇小沐】 1.实验环境 系统 版本 Windows 11 专业工作站版 22H2(22621.900); 卡顿、应用程序打不开、蓝屏等问题。 解决方法:拔掉电源适配器(电脑充电器!!!),强制关机再开机!!! 拔掉笔记本电

    2024年02月01日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包