การล็อกอินเทอร์เฟซ

อินเทอร์เฟซที่เกี่ยวข้องในบทนี้ใช้สำหรับการล็อก API อินเทอร์เฟซทั้งหมด เพื่อให้คุณสามารถล็อกอินเทอร์เฟซให้ใช้งานได้เฉพาะสำหรับอินสแตนซ์ Device ปัจจุบันเท่านั้น ป้องกันไม่ให้ API ถูกใช้งานโดยผู้ใช้หรือโปรเซสอื่น คุณสามารถตั้งค่าระยะเวลาการล็อกเริ่มต้นหรือรีเฟรชการล็อกเป็นระยะๆ ด้วยตนเอง แนะนำให้ใช้วิธีการรีเฟรชเป็นระยะ คุณยังสามารถปลดล็อกอินเทอร์เฟซได้ด้วยตนเอง ขั้นตอนการล็อกที่ปลอดภัยคือ: ได้รับการล็อก -> สร้างเธรดเพื่อรีเฟรชการล็อกเป็นระยะ -> ปลดล็อก

การได้รับการล็อก

ได้รับการล็อก การล็อกนี้จะถูกปล่อยโดยอัตโนมัติหลังจาก 60 วินาที หลังจากที่ถูกปล่อยโดยอัตโนมัติ ไคลเอนต์อื่นจะสามารถได้รับการล็อกได้ คุณสามารถเปลี่ยนแปลงเวลานี้ได้ แต่ถ้าตั้งค่าสูงเกินไป และสคริปต์ออกจากโปรแกรมอย่างผิดปกติ คุณอาจจะไม่สามารถเชื่อมต่อกับอุปกรณ์ได้อีกเลย คุณอาจจะต้องรีสตาร์ทอุปกรณ์เพื่อที่จะเชื่อมต่อได้อีกครั้ง อินเทอร์เฟซนี้สามารถเรียกซ้ำได้ (re-entrant) การเรียกซ้ำจะมีผลเทียบเท่ากับการเรียก _refresh_lock

d._acquire_lock(leaseTime=60)

การปลดล็อก

ปลดล็อก API ด้วยตนเอง หลังจากนั้นไคลเอนต์อื่นจะสามารถได้รับการล็อกได้

d._release_lock()

การรีเฟรชการล็อก

รีเฟรชการล็อก ทุกครั้งที่เรียกใช้จะตั้งเวลาหมดอายุของการล็อกเป็นค่า leaseTime นี้ เรียกใช้อินเทอร์เฟซนี้เป็นระยะเพื่อรักษาการล็อก API ไว้ เช่นเดียวกัน หากตั้งค่า leaseTime สูงเกินไป และสคริปต์ออกจากโปรแกรมอย่างผิดปกติ คุณอาจจะไม่สามารถเชื่อมต่อกับอุปกรณ์ได้อีกเลย

d._refresh_lock(leaseTime=60)