在 powerjob-server 中初始化邮件配置,具体教程可以搜索 SpringBoot 邮件配置。
STEP2: 配置报警信息- 在控制台登陆界面(点击右上角 Setting - 退出 即可前往控制台登陆界面)点击 报警用户录入
- 录入报警用户信息
- 在任务中配置报警接收人。
powerjob-server 会向目标 URL 发送包含报警任务内容的 POST 请求,推荐使用 Map
@RequestMapping("/powerjob")
public class AlarmReceiveController {
@PostMapping("/alarm")
public String receiveAlarmInfo(@RequestBody Map<String, Object> params) {
// 可以先打印下 params 看看里面具体是什么(原始对象为 JobInstanceAlarm 或 WorkflowInstanceAlarm)
System.out.println(params);
// 完成自定义处理
// 返回任意值都表示调用成功
return "success";
}
}
JobInstanceAlarm(任务运行失败的告警对象)
public class JobInstanceAlarm {
// 应用ID
private long appId;
// 任务ID
private long jobId;
// 任务实例ID
private long instanceId;
// 任务名称
private String jobName;
// 任务自带的参数
private String jobParams;
// 时间表达式类型(CRON/API/FIX_RATE/FIX_DELAY)
private Integer timeExpressionType;
// 时间表达式,CRON/NULL/LONG/LONG
private String timeExpression;
// 执行类型,单机/广播/MR
private Integer executeType;
// 执行器类型,Java/Shell
private Integer processorType;
// 执行器信息
private String processorInfo;
// 任务实例参数
private String instanceParams;
// 执行结果
private String result;
// 预计触发时间
private Long expectedTriggerTime;
// 实际触发时间
private Long actualTriggerTime;
// 结束时间
private Long finishedTime;
// TaskTracker地址
private String taskTrackerAddress;
}
WorkflowInstanceAlarm(工作流执行失败告警对象)
public class WorkflowInstanceAlarm {
private String workflowName;
// 任务所属应用的ID,冗余提高查询效率
private Long appId;
private Long workflowId;
// workflowInstanceId(任务实例表都使用单独的ID作为主键以支持潜在的分表需求)
private Long wfInstanceId;
// workflow 状态(WorkflowInstanceStatus)
private Integer status;
private PEWorkflowDAG peWorkflowDAG;
private String result;
// 实际触发时间
private Long actualTriggerTime;
// 结束时间
private Long finishedTime;
// 时间表达式类型(CRON/API/FIX_RATE/FIX_DELAY)
private Integer timeExpressionType;
// 时间表达式,CRON/NULL/LONG/LONG
private String timeExpression;
}
钉钉报警
STEP1: 创建企业内部应用:PowerJob
- 前往 钉钉开放平台,登陆企业账号,创建小程序,填入应用名称(推荐使用 PowerJob)、描述和图标。具体可参考下图。
- 点击创建的小程序,进入小程序管理界面,查看应用凭证,将相关的参数复制到 powerjob-server 的配置文件中(oms.alarm.ding.agent-id、oms.alarm.ding.app-key 和 oms.alarm.ding.app-secret)。
- 配置服务器出口 IP。根据钉钉限制,只有指定 IP 的服务器发送的消息才能被用户接收。因此需要前往 开发管理 tab 页录入 服务器出口IP。(注意,是服务器出口 IP 而不是 服务器本机 IP,也就是要 获得服务器的公网 IP)(一句话教程:登陆服务器执行 curl ip.sb,不会或者命令失效请自行百度)
4.开通小程序权限。进入权限管理 tab 页,点击添加接口权限,找到“手机号获取userid”并添加。
定制开发其他的报警能力powerjob-server 是一个“简单”的 SpringBoot 应用,因此如果系统自带的报警能力无法满足您的需求,您可以自己动手完成想要的报警能力开发(比如短信报警、电话报警、企业微信等)。您需要做的只有一件事:
104)]
定制开发其他的报警能力powerjob-server 是一个“简单”的 SpringBoot 应用,因此如果系统自带的报警能力无法满足您的需求,您可以自己动手完成想要的报警能力开发(比如短信报警、电话报警、企业微信等)。您需要做的只有一件事:
实现 tech.powerjob.server.extension.Alarmable
接口,并将实现类对象的创建交由 Spring 管理(添加 @Service 或 @Component 注解)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)