只有一個執行幾秒的作業爲什麼在taskctl中要執行很久且最後自動退出了-釋疑

第一次使用taskctl時,鬧了不少笑話,當時只有一個執行兩三秒鐘的作業,可是配置進 taskctl卻要執行很久,並且最後自動退出了,剛開始一直以爲是taskctl的問題,後來理解了才整清楚,這裏分享給大家。

<serial>

  <name>MainModul_rootnode</name>

  <begin>

    <name>MainModul_beginjob</name>

    <jobdesc>開始節點</jobdesc>

  </begin>

  <!--    用戶模塊代碼自定義區開始 -->

  <sh>

    <name>MainModul_JobNode0</name>

    <progname>$HOME/mysh.sh</progname>

    <jobdesc>我的sh作業</jobdesc>

  </sh>

  <!--    用戶模塊代碼自定義區結束 -->

  <end>

    <name>MainModul_endjob</name>

    <jobdesc>結束節點</jobdesc>

  </end>

</serial>


上面是當時設計的代碼頁,可以看到只有調用了我的一個shell腳本。流程圖也就是長下面這個樣

下面是運行的時候的圖

這個作業只運行本來只運行幾秒鐘,結果卻運行了很久,到最後還自動退出流程了。

 

最後在QQ羣技術支持的指導下,終於搞明白了,我當時新增的是主流程,運行的時候採用的是正常模式,調度服務也沒有註冊。因爲只有一個作業,沒有設置其他的控制節點,且以正常模式運行,實際上該流程一直在重複運行,但因爲開始和啓動節點幾乎就不佔用時間,所以感覺就是一直在運行我的sh作業,後來我在shell腳本中多增加了一行追加一行字符串到一個文件,發現確實是這樣的,(或者在結束節點鎖定上,也是可以發現飛快就執行完了,此時沒有重複運行),最後的自動退出是因爲我沒有註冊,不能商用實現連續的7x24連續自動化。

最後,一般的作業,如果是單個作業調試的話,在Designer中,運行任務就不都是可以完成調試的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章