taskctl怎麼獲取腳本返回的字符串值?

在 TASKCTL解決方案資源-->範例:TASKCTL設計主要技術點-->condition,最靈活的控制手段(流程), 是有簡單的提到怎麼用的。shell

    blob.png

    分支3和分支4就是經過shell中返回一個字符串作判斷,而後再決定該運行那個分支。bash

    經過查看代碼設計和對應的shell腳本,應該是TASKCTL對每一個任務都有不少記錄,TASKCTL_JOB_RETMSG是給用戶提供一種能夠直接自定義任務的屬性(狀態、記錄),而後經過自帶函數getjretmsg來獲取這一屬性,達到靈活控制調度流程的目的。函數

      官方的案例中的shell腳本以下:設計

#!/bin/sh
sleep 10
echo "TASKCTL_JOB_RETMSG=$1"
exit 0

    調度中案例的代碼以下:code

<sh>
<name>job2</name>
<progname>$TASKCTLDIR/demo/shell/branchctl2.sh</progname>
<para>$(retmsg)</para>
<jobdesc>返回a-分支3,返回b-分支4</jobdesc>
</sh>
<!--分支3 -->
<parallel>
<name>allbranch1</name>
<serial>
<name>branch3</name>
<jobdesc>分支3</jobdesc>
<condition>if(strcmp(getjretmsg('job2'),'a')==0) CTL_DOIT else CTL_IGN</condition>
<exe>
......
</exe>
<exe>
......
</exe>
</serial>
<!--分支4 -->
<serial>
<name>branch4</name>
<jobdesc>分支4</jobdesc>
<condition>if(strcmp(getjretmsg('job2'),'b')==0) CTL_DOIT else CTL_IGN</condition>
<exe>
......
</exe>
<exe>
......
</exe>
</serial>
</parallel>

    每一個任務被定義了後應該都有不少類型的屬性,TASKCTL_JOB_RETMSG只是其中一種。自帶函數getjretmsg就是獲取這個屬性(TASKCTL_JOB_RETMSG)的方法。使用時應該注意,TASKCTL_JOB_RETMSG='',這個應該單獨成行,但同一個做業中出現屢次時,以第一次爲準。xml

相關文章
相關標籤/搜索