锁定接口

本章相关接口用于对所有 API 接口的锁定,让您可以锁定接口只能为当前 Device 实例使用,防止 API 被其他用户或者进程使用,您可以设置默认的加锁时长或者自行对锁进行定期刷新(我们建议定期刷新的方式),您也可以主动释放接口锁。

稳妥的加锁流程为 获得锁 -> 创建线程或在必经之路定期刷新锁 -> 释放锁。

获得锁

获得锁,此锁将在 60 秒后被自动释放,自动释放后其他客户端将可以获得锁,您可以更改此时间,但是如果改得太高,因为异常脚本退出,您将近乎永远无法连接设备,您可能需要进行重启才能继续连接。此接口可重入,重入时等价于 _refresh_lock。

d._acquire_lock(leaseTime=60)

释放锁

主动释放 API 锁,之后其他客户端将可以获得锁。

d._release_lock()

刷新锁

刷新锁,每次调用后将锁过期时间设为此 leaseTime,对此接口做定期调用来保持 API 锁定。同样如果 leaseTime 太高,因为异常脚本退出,您将近乎永远无法连接设备。

d._refresh_lock(leaseTime=60)