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.objectAutoLockRenewer
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
|
Azure SDK for Python