インタフェースのロック¶
この章のインタフェースは、すべての API インタフェースをロックし、現在の Device インスタンスだけが使用できるようにし、他のユーザーやプロセスによる API の使用を防ぐために使用します。デフォルトのロック期間を設定したり、定期的にロックを更新(定期的な更新を推奨)したり、能動的にインタフェースロックを解放したりできます。
ロックを取得¶
ロックを取得します。このロックは 60 秒後に自動的に解放され、解放後に他のクライアントがロックを取得できるようになります。この時間を変更することもできますが、長く設定しすぎると、スクリプトが異常終了した際にデバイスにほとんど接続できなくなり、再起動が必要になる可能性があります。このインタフェースはリエントラントであり、再入時は _refresh_lock と同等に機能します。
d._acquire_lock(leaseTime=60)
ロックを解放¶
能動的に API ロックを解放します。これにより、他のクライアントがロックを取得できるようになります。
d._release_lock()
ロックを更新¶
ロックを更新します。呼び出すたびに、ロックの有効期限が指定した leaseTime に設定されます。API ロックを維持するために、定期的にこのインタフェースを呼び出してください。同様に、leaseTime を長く設定しすぎると、スクリプトが異常終了した際にデバイスにほとんど接続できなくなる可能性があります。
d._refresh_lock(leaseTime=60)