圖形化開放式生信分析系統開發 - 6 生信分析流程批量運行與過程控制

前文鏈接:

圖形化開放式生信分析系統開發 - 1 需求分析及技術實現

圖形化開放式生信分析系統開發 - 2 樣本信息處理

圖形化開放式生信分析系統開發 - 3 生信分析流程的進化

圖形化開放式生信分析系統開發 - 4 生信分析流程的圖形化

圖形化開放式生信分析系統開發 - 5 生信分析流程服務器端運行

在上文圖形化開放式生信分析系統開發 - 5 生信分析流程服務器端運行 解決了設計好的流程在分析服務器上運行的問題,隨之而來就衍生出的新需求:

一、分析流程的批量運行順序

流程輸入文件是按照樣本編號來匹配運行的,運行順序就取決於樣本信息

  1. 樣本優先級:此處設計樣本錄入時候,輸入優先級字段範圍1-9,數字越大優先級越高
  2. 樣本順序:樣本默認按照錄入的時間先後排序,相同優先級的樣本數據,按照錄入先後順序排序運行

二、分析流程的過程控制

  1. 強制停止:開始分析流程之後,可以在任意時間停止分析過程
  2. 錯誤恢復運行:分析流程運行錯誤,再次運行,可以選擇從錯誤處恢復運行
  3. 調試恢復運行:分析結束,修改pipeline參數後,可以選擇從任意一點開始重新分析(應用修改後的參數)
  4. 覆蓋運行:分析錯誤或者正常結束後,重新從頭開始運行整個分析流程,並覆蓋之前的分析結果

技術實現:

一、分析流程的批量運行順序

依賴於樣本的優先級和輸入的順序先後,每次從數據庫取出未完成分析的樣本列表,按照優先級從高到低,樣本輸入先後順序排序。

每次列表中取最上面一個,去指定目錄裏匹配輸入文件,如果輸入文件符合匹配要求,立即啓動pipeline,開始流程分析。同時更新該樣本狀態爲正在分析,這樣下次排序時候就不會重複獲取該樣本了。

其實就是一個帶有優先級參數的先進先出的堆棧

二、分析流程的控制

前文描述瞭如何將設計好的pipeline運行於服務器,如果要監控整個運行過程,就需要創建一個守護線程,如果用戶操作停止分析,這時候守護進程就要終止運行進程,然後報錯並返回。

同時,這個守護線程,要負有和前端通信,統計每個分析任務的運行時間,檢查分析任務輸出是否符合要求等等。

實現效果圖:

  • 樣本優先級
    在這裏插入圖片描述
    在這裏插入圖片描述

  • 強制停止
    在這裏插入圖片描述
    在這裏插入圖片描述

  • 錯誤恢復運行
    在這裏插入圖片描述
    在這裏插入圖片描述

  • 調試恢復運行

  • 覆蓋運行 覆蓋運行
    在這裏插入圖片描述

您可以下載PPT或加QQ羣: 853718264討論

發佈了10 篇原創文章 · 獲贊 2 · 訪問量 2334
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章