Keeper 自定义事件

在 Keeper 预设的事件中,只有发送邮件、请示接口、执行指定的程序(脚本)或重启任务。显然满足不了常规的业务需求,比如打电话、发短信、发送企业微信或钉钉消息等。虽然可以通过执行指定的程序实现,但是如果每一个调度作业都配置一次又太麻烦了。Keeper 提供了自定义事件的方法,可以把自定义事件理解为是一个“函数”。能够通过程序扩展是 Keeper 与其他调度工具的最大区别。在“系统”->“Keeper 监控”->“自定义事件”中找到自定义事件页面。

自定义事件的各个参数解释如下:

事件标签

事件标签是显示在调度作业事件列表中的名称,用于说明事件的功能。可以通过输入框中的默认值的方式定义双语:

不是这种 Json 格式的即为单语言形式,根据需要选择。

事件名称可以是“拨打电话给”、“发送企业微信消息给”(用户信息中包含了企业微信字段)、“发送短信给”等等。

事件参数类型

可以向自定义的事件传递参数,这些参数可以传递给实现事件逻辑的程序。参数类型可以是:

事件的应用范围

事件应用范围指在哪些任务状态下可以触发这个自定义事件,可以多选。

实现事件逻辑的程序

自定义事件支持使用 PQL 过程、Shell 命令或 Python 脚本来实现。如果使用 Java 书写逻辑,可以先打成 jar 包,然后使用 Shell 调用。

在事件逻辑编码过程中,可以使用一些内置的参数或变量,分别说明如下:

这些内置的值可以作为参数和变量调用。如果以参数形式调用,可使用格式#{name},如#{task_id};如果以变量形式调用,可使用格式$name,如$task_id。建议在 PQL 过程中使用变量格式调用,在 Shell 或 Python 中使用参数格式调用。

在事件参数类型为“角色选项”时,还支持额外的一些参数或变量:

以上几个变量类型均为数据表格。当事件参数值选中对应的角色时,其相应变量的表格中就会存有用户的详细信息;如果没有选中某个角色,其对应变量的表格为空。这几个表格的字段名有:

在 PQL 中这几个用户变量可以直接使用或遍历,如

在 Shell 或 Python 中可使用嵌入式 PQL 进行值加工然后传递,如

上例中<%= $owner COLUMN 'mobile' JOIN ',' %>表示将表$ownermobile列的值连成一个由逗号分隔的字符串。不仅可以输出值,也可以通过嵌入式 PQL 实现更复杂的逻辑。

自定义事件示例

建议使用 PQL 编写自定义事件逻辑,以下几个由 PQL 写成的事件示例可供参考。

请求接口示例

自定义事件时,接口操作用得最多。如短信、电话语音、企业微信、钉钉等都要请示接口。

电话语言接口示例:

发送邮件示例

发邮件功能在默认事件中已实现。

发送企业微信消息示例


参考链接


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!