AutoLockRenewer クラス
自動更新。
メッセージやセッションのロック トークンをバックグラウンドで更新するための非同期 AutoLockRenewer ハンドラー。
- 継承
-
builtins.objectAutoLockRenewer
コンストラクター
AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: Callable[[ServiceBusSession | ServiceBusReceivedMessage, Exception | None], Awaitable[None]] | None = None, loop: AbstractEventLoop | None = None)
パラメーター
名前 | 説明 |
---|---|
max_lock_renewal_duration
|
この更新者に登録されているロックを保持する必要がある時間 (秒単位)。 既定値は 300 (5 分) です。 規定値: 300
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
登録されている更新可能な状態でロックが失われた場合に、コールバックを呼び出すよう指定できます。 既定値は None (コールバックなし) です。 規定値: None
|
loop
|
規定値: None
|
例
メッセージ ロックを自動的に更新する
from azure.servicebus.aio import AutoLockRenewer
lock_renewal = AutoLockRenewer()
async with servicebus_receiver:
async for message in servicebus_receiver:
lock_renewal.register(servicebus_receiver, message, max_lock_renewal_duration=60)
await process_message(message)
await servicebus_receiver.complete_message(message)
セッション ロックを自動的に更新する
from azure.servicebus.aio import AutoLockRenewer
lock_renewal = AutoLockRenewer()
async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
session = receiver.session
# Auto renew session lock for 2 minutes
lock_renewal.register(receiver, session, max_lock_renewal_duration=120)
async for message in receiver:
await process_message(message)
await receiver.complete_message(message)
メソッド
close |
残りのオープン ロック更新の将来を取り消して、自動更新を停止します。 |
register |
自動更新のために再生可能なエンティティを登録します。 |
close
残りのオープン ロック更新の将来を取り消して、自動更新を停止します。
async close() -> None
register
自動更新のために再生可能なエンティティを登録します。
register(receiver: ServiceBusReceiver, renewable: ServiceBusReceivedMessage | ServiceBusSession, max_lock_renewal_duration: float | None = None, on_lock_renew_failure: Callable[[ServiceBusSession | ServiceBusReceivedMessage, Exception | None], Awaitable[None]] | None = None) -> None
パラメーター
名前 | 説明 |
---|---|
receiver
必須
|
メッセージまたは自動ロック更新されるセッションに関連付けられている ServiceBusReceiver インスタンス。 |
renewable
必須
|
Union[<xref:azure.servicebus.aio.ServiceBusReceivedMessage>,ServiceBusSession]
更新する必要があるロックされたエンティティ。 |
max_lock_renewal_duration
|
ロックを維持する必要がある時間 (秒単位)。 既定値は [なし] です。 指定した場合、この値はコンストラクターで指定された既定値をオーバーライドします。 規定値: None
|
on_lock_renew_failure
|
Optional[<xref:AsyncLockRenewFailureCallback>]
登録されている再生可能な状態でロックが失われた場合に、非同期コールバックを呼び出すために指定できます。 既定値は None (コールバックなし) です。 :rtype: なし 規定値: None
|
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Azure SDK for Python