我正在尝试在 Bluemix 的Workload Scheduler服务上使用Application Lab应用程序,但找不到任何有关如何使用它的文档。具体来说,我需要每天运行一次 RESTful URL,并在 URL 中嵌入上一次运行的时间戳。在Application Lab中创建变量似乎很简单,但我不知道如何设置或使用它们。有人可以指出我正确的方向吗?
1 回答
通过 API 更新应用实验室的变量尚不可用(即将推出)。
还有另一种方法,我可以和你分享。按着这些次序:
启用云代理以运行脚本
你应该为此开一张票。默认情况下,云代理未启用运行脚本,但您可以打开票证来更改此设置。
获取用户凭据
打开服务而不获取用户凭据。如果它们不存在,请单击“添加凭据”。
打开工作负载编辑器
工作负载编辑器是相对于应用程序实验室更强大的 UI 并支持复杂的场景。
要打开 Workload Designer,请打开 Application Lab,右键单击一个进程并选择“Launch Workload Designer”。
定义宁静的工作
创建一个新的宁静工作:
然后设置名称和工作站并检查标志“运行时可变分辨率”。
然后单击“操作”窗格并设置服务的 URI。在 URI 中添加 ${TIMESTAMP} 变量。出于测试目的,我使用了这个 URI:
http://echo.jsontest.com/title/ipsum/content/ ${TIMESTAMP}
保存此定义(使用软盘图标)。
定义更新变量的作业
创建可执行作业:
设置名称、工作站和“运行时变量分辨率”标志
然后打开“任务窗格”并在脚本字段中添加以下内容:
#/bin/sh -x
#Set the following 3 variables from your credentials
export USERNAME="xxxxxx@bluemix.net"
export PASSWORD='xxxxxx'
export HOSTNAME=xxxxx.wa.ibmserviceengage.com
#Replace "CC" with the letters of your tenant
export VT=CCTIMESTAMP
#MAIN STARTS HERE
export TIMESTAMP=`date +%s`
. /home/wauser/TWA/TWS/tws_env.sh
echo "VARTABLE $VT MEMBERS TIMESTAMP \"$TIMESTAMP\" END" > /home/wauser/vt.txt
composer -host $HOSTNAME -protocol https -username "$USERNAME" -password $PASSWORD replace /home/wauser/vt.txt
通过单击“选择操作”->“将作业提交到当前计划”来提交作业。
定义作业流
点击“新建”->“工作流”
定义名称、工作站和变量表(将 CC 替换为您的两个字母租户 ID)。右键单击并选择添加作业:
添加“TEST”和“UPDATETIMESTAMP”作业(或您使用的名称)。
右键单击“UPDATETIMESTAMP”并选择“Add dependencies”->“Job in the same job stream”,然后选择“TEST”。
右键单击“运行周期”并选择“添加运行周期”
打开“规则”窗格并选择“每日”
打开“时间限制”并设置作业流必须开始的时间并检查标志“用作时间依赖项”。
保存作业流,您就完成了!