将任务调度开放给第三方

 

系统允许将任务调度开放给第三方应用来调用,做为与第三方的接口。当需要将任务调度开放给第三方调用时,需要注意如下几点:

1 任务不能是“任务停用”状态。

2 任务必须是“允许调用”的

3 任务的执行频率可以是0,也可以不是0.

4 当任务调度被第三方接口执行时,它不受任务调度的执行时间限制。即第三方在任何时间点调用任务调度时,它都会执行。

5 可以在任务脚本中返回数据每调用方(见下面的示例)

6 可以在脚本中对调用方的身份做校验(见下面的示例)

7 可以用 runTask 调用任务

8 可以用 runtask.jsp 在浏览器地址栏调用任务。参数 task表示需要调用的任务的代码,其它应用参数可以写在url地址中。中文做先做好UTF-8编码

 

示例 :

定义一个任务调度(代码为 test), 脚本如下 :

 

function main( args)
{
var p= JSON.parse(args);

if( p.request.remoteAddr !='192.168.1.20') return "只能在 192.168.1.20机器上被调用";
var a= toInt(p.a);
var b= toInt(p.b);
var c= {a:a,b:b,c:a+b};


return "<font color=red>"+currentUserId()+"</font>参数args=" + args +" 计算结果:"+ JSON.toString(c);

}

 

 

可以在浏览器地址栏上使用: runtask.jsp?task=test&a=1&b=2调用任务。 任务执行后返回一些信息。其中的 task=test 表示需要调用代码为test的任务。并且传入参数a, b 在脚本中,可以用 var p=JSON.parse( args) ; 用p.a , p.b 可以得到传入的参数 。并且可以用 p.request.remoteAddr 得到调用者的IP地址。