介面鎖定

本章相關介面用於鎖定所有 API 介面,讓您可以鎖定介面,使其僅供當前的 Device 實例使用,以防止 API 被其他使用者或行程使用。您可以設定預設的鎖定時長,或自行定期更新鎖。建議採用定期更新的方式,您也可以主動釋放介面鎖。穩妥的鎖定流程為:取得鎖 -> 建立執行緒定期更新鎖 -> 釋放鎖。

取得鎖

取得鎖,此鎖將在 60 秒後自動釋放。自動釋放後,其他用戶端將可以取得鎖。您可以更改此時間,但如果設定得太高,當腳本異常退出時,您將幾乎永遠無法連接裝置,可能需要重新啟動裝置才能繼續連線。此介面可重入,重入時等同於 _refresh_lock。

d._acquire_lock(leaseTime=60)

釋放鎖

主動釋放 API 鎖,之後其他用戶端便可以取得鎖。

d._release_lock()

更新鎖

更新鎖,每次呼叫後會將鎖的過期時間設為此 leaseTime。定期呼叫此介面以保持 API 鎖定。同樣地,如果 leaseTime 設定得太高,當腳本異常退出時,您將幾乎永遠無法連接裝置。

d._refresh_lock(leaseTime=60)