第一次使用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中,運行任務就不都是可以完成調試的