開始、暫停、停止工作流程 starting-a-workflow
工作流程一律以手動方式啟動。 但是,啟動後,它會根據透過排程器(請參閱排程器)或活動排程指定的資訊,保持非使用中。
與目標工作流程執行相關的動作(啟動、停止、暫停等) 是 非同步 處理序:已記錄此順序,一旦伺服器可供套用時,此順序就會生效。
工具列可讓您啟動及追蹤工作流程的執行。
Actions 功能表及右鍵功能表中可用的選項清單詳述如下。
動作工具列 actions-toolbar
工具列的 Actions 按鈕可讓您存取所選工作流程的其他執行選項。 您也可以使用 File > Actions 功能表,或以滑鼠右鍵按一下工作流程並選取 Actions。
-
Start
此動作可讓您開始執行工作流程: 已完成、正在編輯 或 已暫停 的工作流程會將狀態變更為 已開始。 然後,工作流程引擎會處理此工作流程的執行。 如果工作流程已暫停,則會繼續,否則會從頭開始工作流程並啟動初始活動。
啟動為非同步流程:系統會儲存請求,並儘快由工作流程伺服器處理。
-
Pause
此動作會將工作流程的狀態設為 已暫停。 在繼續工作流程之前,不會啟用任何活動,但不會暫停進行中的作業。
-
Stop
此動作會停止目前正在執行的工作流程。 執行個體的狀態設定為 已完成。 如果可能的話,進行中的作業會停止。 立即取消匯入和SQL查詢。
note important IMPORTANT 停止工作流程為非同步程式:要求已註冊,然後一或多個工作流程伺服器會取消進行中的操作。 因此,停止工作流程執行個體可能需要一些時間,尤其是如果工作流程正在多個伺服器上執行時,每個伺服器都必須取得控制權才能取消進行中的工作。 若要避免發生任何問題,請等候停止作業完成,並且不要在同一工作流程上執行多個停止要求。 -
Unconditional stop
此選項會將工作流程狀態變更為 Finished。 只有在數分鐘後正常停止程式失敗時,才應將此動作作為最後手段。 只有在您確定沒有進行中的實際工作流程工作時,才使用無條件停止。
note caution CAUTION 管理員使用者僅限無條件停止。 -
Restart
此動作會停止,然後重新啟動工作流程。 在大多數情況下,它可以讓您更快速地重新啟動。 當停止需要一定的時間時,自動重新啟動也很實用:這是因為當工作流程停止時,「停止」命令無法使用。
請注意,重新啟動 動作不會清除與 執行、停止 和 開始 動作相較的工作流程執行個體變數(執行個體變數會在啟動動作時清除)。 重新啟動工作流程時,執行個體變數仍可與保留值搭配使用。 若要清除這些專案,您可以:
-
執行 停止 和 啟動 動作。
-
在工作流程執行結束時,新增以下javascript程式碼:
code language-none var wkf = xtk.workflow.load(instance.id) wkf.variables='<variables/>' wkf.save()
-
-
Purge history
此動作可讓您清除工作流程歷史記錄。 如需詳細資訊,請參閱清除記錄檔。
-
Start in simulation mode
此選項可讓您以模擬模式(而非實際模式)啟動工作流程。 這表示當您啟用此模式時,只會執行不會影響資料庫或檔案系統的活動(例如 Query、Union、Intersection 等)。 有影響的活動(例如 Export、Import 等) 以及之後的專案(在相同分支中)都不會執行。
-
Execute pending tasks now
此動作可讓您儘快啟動所有待處理工作。 若要啟動特定工作,請以滑鼠右鍵按一下其活動並選取 Execute pending task(s) now。
-
Save as template
此動作會根據所選的工作流程建立新的工作流程範本。 您必須指定要儲存的資料夾(在 Folder 欄位中)。
工作流程執行最佳實務 workflow-execution-best-practices
實作下列最佳實務以提高執行個體的穩定性:
-
請勿將工作流程排程為超過每15分鐘執行一次,因為它可能會阻礙整體系統效能並在資料庫中建立區塊。
-
請避免讓工作流程處於暫停狀態。 如果您建立暫時性工作流程,請確定工作流程可以正確完成,而不會維持在 paused 狀態。 如果暫停,則表示您需要保留臨時表格,因此會增加資料庫的大小。 在「工作流程屬性」下指定「工作流程主管」,以在工作流程失敗或系統暫停時傳送警報。
若要避免工作流程處於暫停狀態:
- 請定期檢查您的工作流程,確保沒有未預期的錯誤。
- 保持工作流程儘可能簡單,例如將大型工作流程分割為數個不同的工作流程。 您可以使用 External signal 個活動,根據其他工作流程的執行觸發其執行。
- 請避免在工作流程中,讓流程停用的活動保持執行緒開啟,導致許多可能會佔用大量空間的臨時表格。 請勿將活動保留在您的工作流程中 Do not enable 或 Enable but do not execute 狀態。
-
停止未使用的工作流程。 持續執行的工作流程會維持與資料庫的連線。
-
只在極少數情況下才使用無條件停止。 此選項僅限管理員使用者使用。 請勿定期使用此動作。 在工作流程產生的連線上,若未對資料庫執行乾淨關閉,將會影響效能。
-
請勿在同一工作流程上執行多個停止要求。 停止工作流程為非同步程式:要求已註冊,然後一或多個工作流程伺服器會取消進行中的操作。 因此,停止工作流程執行個體可能需要一些時間,尤其是如果工作流程正在多個伺服器上執行時,每個伺服器都必須取得控制權才能取消進行中的工作。 若要避免發生任何問題,請等候停止作業完成,並避免多次停止工作流程。
在功能表上按一下右鍵 right-click-menu
選取一或多個工作流程活動時,您可以按一下滑鼠右鍵依您的選取範圍採取行動。
在右鍵功能表中提供下列選項:
Open:此選項可讓您存取活動屬性。
Display logs: 此選項可讓您檢視所選活動的任務執行記錄。 請參閱顯示記錄檔。
Execute pending task(s) now: 此動作可讓您儘快啟動擱置中的任務。
Workflow restart from a task: 此選項可讓您使用先前為此活動儲存的結果來重新啟動工作流程。
Cut/Copy/Paste/Delete: 這些選項可讓您剪下、複製、貼上和刪除活動。
Copy as bitmap: 此選項可讓您擷取所有活動的熒幕擷圖。
Normal execution / Enable but do not execute / Do not enable: 這些選項也可在活動屬性的 Advanced 索引標籤中使用。 它們在執行中有詳細的說明。
Save / Cancel: 可讓您儲存或取消對工作流程所做的變更。