1. 概述
1.1 版本
FineDataLink 版本 | 功能變動 |
---|---|
4.1.6.3 | 定時任務、管道任務、API任務、資料服務應用禁止被多人同時編輯 |
1.2 應用場景
一個任務同時被多人開啟編輯時,先儲存的內容會被之後儲存的內容改寫,導致前者開發內容被誤刪。
1.3 功能簡介
提供任務編輯鎖,定時任務、管道任務、API任務、資料服務應用禁止被多人同時編輯。
使用者編輯某個任務時,其他使用者也開啟該任務,則會提示:當前任務/API/應用正在被XX編輯,其他人無法編輯該任務,只能查看。如下圖所示:
2. 編輯鎖出現場景
作用物件:定時任務、管道任務、API任務、資料服務應用。
編輯鎖出現場景:
多人開啟同一個定時任務/管道任務/API任務/資料服務應用。
單人開啟多個相同瀏覽器tab介面/不同瀏覽器介面。
3. 功能說明
3.1 資料開發
3.1.1 任務編輯鎖物件:定時任務
1)若一個定時任務正在被 A 編輯,B、C 使用者開啟該任務時,提示:當前任務正在被 A 編輯,B、C 無法編輯該定時任務,只能查看任務。如下圖所示:
2)當 A 使用者跳出編輯且未儲存,B、C 編輯介面顯示:A跳出編輯;B、C 誰先搶到到編輯(工程自動獲取)誰就能獲取編輯權限;若 B 獲得編輯權限,C 使用者的介面顯示:當前任務正在被B編輯
3)當使用者跳出編輯且儲存,其他人編輯介面顯示:XX跳出編輯、當前任務存在最新配置,請即時重新整理。如下圖所示:
誰先點選「重新整理」按鈕,誰就能搶到編輯權限。
3.1.2 任務編輯鎖物件:工具欄
若一個定時任務正在被編輯,其他人工具欄中的儲存、運作按鈕失效。如下圖所示:
編輯鎖出現時,工具欄說明如下:
1)任務名、調度計劃、任務控制不受編輯鎖影響,使用先後改寫邏輯。
2)編輯鎖狀態下,參數列表僅支援查看。
3.1.3 任務編輯鎖物件:定時任務列表
若一個定時任務正在被編輯,其他人可以對這個任務重新命名、行動。如下圖所示:
說明如下:
1)「重新命名」、「行動到」不受編輯鎖影響,使用先後改寫邏輯;「匯出」功能可以正常使用。
2)若一個定時任務正在被編輯,其他人不能刪除該任務。
3.2 管道任務
注:若一個管道任務正在被編輯,其他人不能刪除該任務。
1)使用者 A 正在編輯管道任務時,B、C 使用者開啟該任務時,提示:當前任務正在被 A 編輯,B、C 使用者僅支援查看,所有配置項置灰。如下圖所示:
2)當 A 跳出編輯且儲存時,B、C使用者介面提供「重新整理」按鈕,點選後,重新整理介面為最新儲存的配置。如下圖所示:
誰先點選「重新整理」按鈕,誰就能搶到編輯權限。
3)當 A 使用者跳出編輯且未儲存,B、C 編輯介面顯示:A跳出編輯;B、C 誰先搶到到編輯(工程自動獲取)誰就能獲取編輯權限;若 B 獲得編輯權限,C 使用者的介面顯示:當前任務正在被B編輯
3.3 資料服務
注:若一個API任務/應用正在被編輯,其他人不能刪除。
3.3.1 任務編輯鎖物件:API 任務
1)使用者 A 正在編輯 API 時,B、C 使用者開啟該任務時,提示:當前API正在被 A 編輯,B、C 使用者僅支援查看,所有配置項置灰。如下圖所示:
注:B、C使用者可正常使用「查詢預覽」、「測試呼叫」按鈕。
2)當 A 跳出編輯且儲存時,B、C使用者介面提供「重新整理」按鈕,點選後,重新整理介面為最新儲存的配置。如下圖所示:
誰先點選「重新整理」按鈕,誰就能搶到編輯權限。
3)當 A 使用者跳出編輯且未儲存,B、C 編輯介面顯示:A跳出編輯;B、C 誰先搶到到編輯(工程自動獲取)誰就能獲取編輯權限;若 B 獲得編輯權限,C 使用者的介面顯示:當前API正在被B編輯
4)使用者 A 正在編輯 API 時,其他使用者不能上下線 API 。如下圖所示:
5)單人開啟多個相同瀏覽器tab介面/不同瀏覽器介面,在同一個目錄下建立 API 任務時,後建的任務會進入編輯鎖介面。如下圖所示:
3.3.2 任務編輯鎖物件:應用
1)使用者 A 正在編輯應用時,B、C 使用者開啟該應用時,提示:當前應用正在被 A 編輯,B、C 使用者僅支援查看,所有配置項置灰。如下圖所示:
2)當 A 使用者跳出編輯且未儲存,B、C 編輯介面顯示:A跳出編輯;B、C 誰先搶到到編輯(工程自動獲取)誰就能獲取編輯權限;若 B 獲得編輯權限,C 使用者的介面顯示:當前應用正在被B編輯
3)當使用者跳出編輯且儲存,其他人編輯介面顯示:XX跳出編輯、當前任務存在最新配置,請即時重新整理。如下圖所示:
誰先點選「重新整理」按鈕,誰就能搶到編輯權限。
3.4 異常場景說明
異常場景 | 處理策略 |
---|---|
使用者 A 開啟定時任務,此時 A 使用者斷開了網路,使用者 B 也開啟這個定時任務 | 使用者 A 斷網重連時:
|
A 使用者正在編輯定時任務,B 使用者進入查看模式,然後 A 使用者跳出編輯,但 B 使用者介面依然顯示有鎖 | 管理者開啟該任務,可解鎖: |
A 使用者編輯任務 1 時,B使用者正在修改/刪除任務 1 所引用的任務/資料連結/伺服器資料集等被引用配置 | 無鎖,任務 1 點選儲存時,會觸發配置丟失校驗 |
A 使用者在任務 1 編輯介面將任務 1 改名為任務 2 ,還未儲存,B 使用者在任務列表將任務 1 改名為任務 3 ,最後A使用者儲存該任務 | A 使用者是最後儲存的,最終任務 1 改名為任務 2 |