都知道TC有强大的脚本平台,Total Control 在6.9.0版本以后我们可以通过REST API 创建立即执行脚本的任务,也可以创建定时任务。那么现在我们来看看如何实现用taskCreate 创建执行脚本的任务。
(一)、创建一个脚本任务,即创建一个立即执行脚本的任务
请求方式:POST
http://IP:8090/TotalControl/v1/tasks?task_name=:task_name&script_file=:script_file&total_iterations=:total_iterations&token=:token
参数说明:
参数名
类型
必选
描述
IP
string
Y
访问 Total Control 服务器的 IP 地址
token
string
Y
Total Control TOKEN
task_name
string
Y
脚本执行任务名称
script_file
string
Y
在服务器中的脚本文件
total_iterations
int
Y
任务执行次数
返回示例:
成功,则返回:
{ "status": true }
字段
类型
描述
status
boolean
请求状态成功与失败true/false
(二)、创建一个定时任务,即创建一个定时执行脚本的任务
请求方式:POST
http://IP:8090/TotalControl/v1/tasks?task_name=:task_name&script_file=:script_file&total_iterations=:total_iterations&schedule=:schedule&token=:token
参数说明:
参数名
类型
必选
描述
IP
string
Y
访问 Total Control 服务器的 IP 地址
token
string
Y
Total Control TOKEN
task_name
string
Y
脚本执行任务名称
script_file
string
Y
在服务器中的脚本文件
total_iterations
int
Y
任务执行次数
schedule
date
Y
任务执行时间,指定时间执行任务,时间需要 utf-8 编码
返回示例:
成功,则返回:
{ "status": true }
字段
类型
描述
status
boolean
请求状态成功与失败true/false
示例:创建立即执行任务 "task001",执行一次脚本 "getName.js"
可以复制下面的代码,在 Total Control 的脚本终端中执行,也可以保存为后缀为 js 的文件, 例如:example.js,在Total Control 执行器中执行。
//导入一些 ringoJS 的包var {request} = require('ringo/httpclient');var base64 = require('ringo/base64');//将用户名密码编码,'sigma:3D391497'是用户名和密码,在Total Control系统设置里面可以看到var userpass = base64.encode('sigma:3D391497'); //第一步:获取 Total Control 脚本开发所用的开发 tokenvar gettoken = request({ method: 'GET', url: 'http://localhost:8090/TotalControl/v1/login', headers: {'Authorization': userpass} });//将获取的响应内容转换成json对象var ret_token = eval('(' + gettoken.content + ')'); var token = ret_token.value.token; print("//获取 token 的值为:" + token); //第二步:创建立即执行脚本的任务//getName.js 是存放在 <我的文档>/Scripts目录下var ret = request({ method: 'POST', url: 'http://localhost:8090/TotalControl/v1/tasks', data: { "token": token, "task_name":"task001", "script_file":"getName.js", "total_iterations":1 } }); print(ret.content);
运行结果:
成功,则返回:
//获取 token 的值为:m195zZEgY91PMcbo { "status": true }