Udostępnij za pośrednictwem


AutoLockRenewer Klasa

Automatyczne odnawianie blokady.

Asynchroniczna procedura obsługi funkcji AutoLockRenewer do odnawiania tokenów blokady komunikatów i/lub sesji w tle.

Dziedziczenie
builtins.object
AutoLockRenewer

Konstruktor

AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: Callable[[ServiceBusSession | ServiceBusReceivedMessage, Exception | None], Awaitable[None]] | None = None, loop: AbstractEventLoop | None = None)

Parametry

Nazwa Opis
max_lock_renewal_duration

Czas w sekundach, dla którego należy zachować blokadę zarejestrowaną w tym module odnawiania. Wartość domyślna to 300 (5 minut).

Domyślna wartość: 300
on_lock_renew_failure
Optional[<xref:LockRenewFailureCallback>]

Można określić wywołanie zwrotne, które ma być wywoływane, gdy blokada zostanie utracona podczas rejestrowania odnawialnej. Wartość domyślna to None (brak wywołania zwrotnego).

Domyślna wartość: None
loop
Domyślna wartość: None

Przykłady

Automatyczne odnawianie blokady wiadomości


   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)

Automatyczne odnawianie blokady sesji


       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)

Metody

close

Zatrzymaj autorenewal, anuluj wszelkie pozostałe kontrakty na odnawianie blokady otwarte.

register

Zarejestruj jednostkę odnawialną na potrzeby automatycznego odnawiania blokady.

close

Zatrzymaj autorenewal, anuluj wszelkie pozostałe kontrakty na odnawianie blokady otwarte.

async close() -> None

register

Zarejestruj jednostkę odnawialną na potrzeby automatycznego odnawiania blokady.

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

Parametry

Nazwa Opis
receiver
Wymagane

Wystąpienie ServiceBusReceiver skojarzone z komunikatem lub sesją do automatycznego odnawiania.

renewable
Wymagane
Union[<xref:azure.servicebus.aio.ServiceBusReceivedMessage>,ServiceBusSession]

Zablokowana jednostka, która musi zostać odnowiona.

max_lock_renewal_duration

Czas w sekundach, dla którego należy zachować blokadę. Wartość domyślna to Brak. Jeśli zostanie określona, ta wartość zastąpi wartość domyślną określoną w konstruktorze.

Domyślna wartość: None
on_lock_renew_failure
Optional[<xref:AsyncLockRenewFailureCallback>]

Można określić wywołanie zwrotne asynchroniczne, które ma być wywoływane, gdy blokada zostanie utracona podczas rejestrowania odnawialnej. Wartość domyślna to None (brak wywołania zwrotnego). :rtype: Brak

Domyślna wartość: None