獲取全部狀態爲 「未同步」 的設備,調用第三方添加接口執行添加操做,當執行完畢後,會執行以下判斷 a. 調用第三方可能會第三方平臺限流的緣由失敗,此時若是咱們還繼續調用接口進行添加是沒有意義,則當前線程從新獲取鎖延長持有鎖的時間,並等待Ns直到限流的期限結束,再進行後續操做 b. 判斷當前已經持有鎖的時間,若是持有鎖的時長超過必定的閾值(此時當前線程還在鎖的持有時間內),則從新獲取鎖延長持有鎖的時間
獲取全部狀態爲 「同步失敗」 的設備,而後執行和 「未同步」的設備相同的步驟
最後在finally代碼塊中釋放鎖
觸發「設備增長同步」的時機:3d
當新增設備成功
當批量導入任務當即執行
定時任務定時觸發
設備刪除cdn
詳細步驟以下:
獲取分佈式鎖,這裏的步驟和「設備同步增長」相似,這裏略
標記能夠刪除設備
調用第三方接口進行刪除 a. 若是設備的狀態爲 「未完成」或 「同步失敗」(此時設備未同步到第三方平臺),則跳過本步驟,只要從本地數據刪除便可 b. 若是設備的狀態爲 「未完成」或 「同步失敗」(此時設備未同步到第三方平臺),則須要同時從第三方平臺刪除記錄和本地數據刪除。若是從第三方刪除成功或第三方提示設備不存在,則再從本地刪除記錄。若是第三方提示刪除失敗,則當即結束