定时任务问题
資深大佬 : QZFCANBA 3
要给定时任务的执行情况做一个判断,如果执行异常,要发送邮件通知相关的处理人,但是定时任务里面,都被 TRY..CATCH 了,无法抛出异常来进行判断,这个要怎么处理呢。。。
大佬有話說 (3)
要给定时任务的执行情况做一个判断,如果执行异常,要发送邮件通知相关的处理人,但是定时任务里面,都被 TRY..CATCH 了,无法抛出异常来进行判断,这个要怎么处理呢。。。
假设 jobA 是我们的业务需求,大约 30 秒执行一次。我会设定 jobB+jobC 并行监视 jobA 。
jobA 在执行完毕,向数据库写数据的时,会多加一个时间戳。
jobB 会在 jobA 执行完 2~3 秒内执行,其主要工作是检验 jobA 生成时间戳是否和上一次的不同。如果相同,连接的短信猫发送相关信息给负责人。同时将发送记录持久化。
jobC 会在 jobB 执行完 2~3 秒内执行,其主要工作是检验 jobA 生成时间戳是否和上一次的不同,如果相同,检查 jobB 是否执行信息发送操作,若未执行,则调用短信猫接口发送信息。
整个系统周一重启。
整体做法比较浪费系统性能,但是由于是 jobA 监督性较强,要尽可能的保证其正常工作。
各大框架都封装了非常实用的工具类,不用框架的也有 Quartz 等(自动重启任务),也十分好用,没出过问题。