工作管理
# 工作管理
所属为调度模块下工作管理
# 关系图
# 使用前需知
菜单入口:【调度管理】=>【工作管理】
作业是需要调度执行的操作或任务。 例如:调用接口、推送rabbitmq信息
Job 是整个调度管理的核心,考虑业务的复杂性支持 javascript 脚本及 Sql 脚本处理业务事件,每个 job 是单独执行互不依赖。
Job 是调度任务中某一项具体计划内容, 每个调度任务可以同时执行多个 Job,但是每 个 Job 只能处理一个脚本文件。
# 具体操作
# 1 列表查询、清空
点击【查询】按钮进行查询。用户可以根据Job名称以及Job状态进行查询,
点击【清空】按钮可以工作列表的查询栏数据的清空、以便于重新填写自己所需要的查询条件、非常的便捷
# 2 创建工作信息
根据需求创建需要执行的工作内容。
每个属性描述
[x] JOB标题:工作标题不能为空;
[x] JOB编码:编码作为数据的唯一标识,不能为空(自动生成且可以自行修改);
[x] 调用方式:目前仅系统定制一种类型,后续根据需求补充
[x] 任务类型:
Url链接
使用URL链接的工作内容需要了解HTTP协议,知道GET请求与POST请求的区别后。才推荐使用此类型。
[x] 请求类型:需要显示请求地址, 请求类型 POST/GET,且不能为空,URL 为接口调用方式,
[x] 请求地址:需求请求的地址链接,如果接口需要认证和相关参数, 要输入 token 和参数信息(json 格式)。
[ ] 请求参数:如果接口需要相关参数,要输入参数信息(json格式) 例如:{name:"参数内容" , id:"sysid"}
邮件Email
- [x] 邮件标题:发送的邮件标题,邮件标题不能为空。
- [x] 邮件地址:收件人的邮箱地址,多个人用','隔开
- [ ] 邮件内容:需要发送的邮件内容信息,邮件内容不能为空。
注:邮箱发送需要配置配置文件
// 发送邮件【前提需要在系统配置项web.json中配置】
"EmailConfig": {
EmailAddress: "tentai_wx@163.com", //163邮箱发件人邮箱信息
SmtpServer: "smtp.163.com", // 163邮箱转发服务器
Identity: "GYKHANQAQQPNSWEF", // 授权检定码
sendTitle: "通知" // 发送的默认标题
}
2
3
4
5
6
7
RabbitMQ
这一块不了解的话可以参考 前言中的关于RabbitMq的相关定义信息,请确保能正确使用后才尝试这个功能。自己在正常环境中能正确获取到RabbitMQ的数据后,再在调度工作中创建对应的工作内容。。
- [x] 队列名称:mq队列名称 ;队列名称不能为空
- [ ] 主题内容:需要推送到rabbitmq的信息主题内容 ;主体内容不能为空
注:rabbitmq需要配置配置文件
// 系统配置项web.json中配置
"RabbitMq": {
"HostName": "192.168.3.1111",// rabbitmq地址
"UserName": "admin", // 用户名
"Password": "123123" // 密码
},
2
3
4
5
6
脚本(javascript脚本)
// 使用此类型 必须要熟练使用javascript脚本,并了解调度方法函数文档,如有需要 还需要熟练编写SQL语句,http网络请求。
// 脚本能实现的内容非常的多,可以发送网络请求,操作数据库数据,并获取到这些数据进行处理,还可以发送邮件、操作票suposApi相关的内容,以及后续会拓展各种各样的新API以供使用,所以对javascript的熟练度要求非常的高。
// 需要注意的是:不建议在操作数据库时,对表或者数据进行定时删除处理,已便造成无可追回的损失。。。。
2
3
选择后顶部会出现多个步骤信息,每一个步骤 按照自己的需求取填写。无需数据源的时候这块的步骤就要可以不需要选择,如果需要的话,看看下面的说明,确保能正确使用后填写。事件脚本是必须要填写的一项。这一块常见的问题,可参考最下面的备注信息。。。
步骤二 数据源
如果使用到多数据源,可在下方添加数据源信息(数据源相关信息请看数据源操作手册
这边的操作与数据源操作是一致的,需要了解数据源 才能使用这边的功能,不然的话,容易出错,保存不成功。请搞清楚数据源类型、数据源标识、数据源的管理表各自的作用。
请参考文档🍳 数据集使用手册 (opens new window)
步骤三 事件脚本
事件脚本不能为空, 脚本输入完成做脚本验证,不能存在语法错误
示例:具体有那些方法函数请看调度方法函数文档
请参考文档🍳 调度方法函数文档 (opens new window)
// 查询默认数据源 smart_userinfo表信息并通过JSON函数转化 【olb】
var sql="select * from smart_userinfo where sysid='07e1d2c4f12343c3a6fd3988d807cc62'"
var res=db.GetRows(sql); // 获取信息
var str=json.ToString(res)// 提供转化字符串方法
log.Info(json.ToString(res));//记录日志
var jsonStr=JSON.parse(str); // 转成前端json结构
log.Info(jsonStr[0].SYSID) // 记录信息
// 查询 dataSource_RVXWNG183602 数据源下的oc_accounts表信息 并记录日志 【new】
var sql="select * from oc_accounts"
var res =dataSource_RVXWNG183602.QuerySql(sql);
log.Error(util.ToString(res))
var str=util.ToString(res)// 提供转化字符串方法
log.Info(util.ToString(res));//记录日志
var jsonStr=JSON.parse(str); // 转成前端json结构
log.Info(jsonStr[0].SYSID) // 记录信息
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
验证完成下一个参数配置页面激活
新增完成后会关闭新增弹框,右上角显示创建成功提示,刷新工作列表
# 3 修改工作信息
修改除编码外其余信息,操作内容与创建工作一致 注:
修改完成后的数据不会影响已经绑定的任务的工作信息(会继续执行老的任务信息)
修改 job 不推荐改变它的名称,名称只有新增时才能输入。不然的话在任务管理中查询工作信息就会很麻烦,
所以尽量不要取修改工作的标题信息。
修改完成后会关闭修改弹框,右上角显示修改成功提示,并刷新工作列表
# 4.删除/批量删除工作
删除工作
删除工作信息并刷新工作列表;这个为物理删除,不能在重新找回,请一定要注意不能失误操作。 注:
- 即使删除工作数据也不会影响已经绑定的任务的工作信息(会继续执行老的任务信息)
删除完成后右上角显示删除成功提示,并刷新工作列表
批量删除
通过勾选工作列表复选框,批量删除工作信息并刷新工作列表 ,可以一次性删除多条工作信息。这个为物理删除,不能在重新找回,请一定要注意不能失误操作。
批量删除完成后右上角显示删除成功提示,并刷新工作列表