AutoLockRenewer クラス

自動更新。

メッセージやセッションのロック トークンをバックグラウンドで更新するための非同期 AutoLockRenewer ハンドラー。

継承
builtins.object
AutoLockRenewer

コンストラクター

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