การล็อกอินเทอร์เฟซ¶
อินเทอร์เฟซที่เกี่ยวข้องในบทนี้ใช้สำหรับการล็อก 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)