AutoLockRenewer Classe
Rinnovo automatico del blocco.
Gestore AutoLockRenewer asincrono per rinnovare i token di blocco dei messaggi e/o delle sessioni in background.
- Ereditarietà
-
builtins.objectAutoLockRenewer
Costruttore
AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: Callable[[ServiceBusSession | ServiceBusReceivedMessage, Exception | None], Awaitable[None]] | None = None, loop: AbstractEventLoop | None = None)
Parametri
Nome | Descrizione |
---|---|
max_lock_renewal_duration
|
Tempo in secondi per cui devono essere mantenuti i blocchi registrati per questo rinnovo. Il valore predefinito è 300 (5 minuti). Valore predefinito: 300
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
È possibile specificare un callback da chiamare quando il blocco viene perso sulle rinnovabili registrate. Il valore predefinito è None (nessun callback). Valore predefinito: None
|
loop
|
Valore predefinito: None
|
Esempio
Rinnovare automaticamente un blocco di messaggi
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)
Rinnovare automaticamente un blocco di sessione
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)
Metodi
close |
Interrompere l'autorenewal annullando eventuali futuri di rinnovo del blocco aperto rimanenti. |
register |
Registrare un'entità rinnovabile per il rinnovo automatico del blocco. |
close
Interrompere l'autorenewal annullando eventuali futuri di rinnovo del blocco aperto rimanenti.
async close() -> None
register
Registrare un'entità rinnovabile per il rinnovo automatico del blocco.
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
Parametri
Nome | Descrizione |
---|---|
receiver
Necessario
|
Istanza di ServiceBusReceiver associata al messaggio o alla sessione da rinnovare automaticamente. |
renewable
Necessario
|
Union[<xref:azure.servicebus.aio.ServiceBusReceivedMessage>,ServiceBusSession]
Entità bloccata che deve essere rinnovata. |
max_lock_renewal_duration
|
Tempo in secondi per cui deve essere mantenuto il blocco. Il valore predefinito è Nessuno. Se specificato, questo valore eseguirà l'override del valore predefinito specificato nel costruttore. Valore predefinito: None
|
on_lock_renew_failure
|
Optional[<xref:AsyncLockRenewFailureCallback>]
È possibile specificare un callback asincrono da chiamare quando il blocco viene perso sull'oggetto rinnovabile registrato. Il valore predefinito è None (nessun callback). :rtype: Nessuno Valore predefinito: None
|
Azure SDK for Python
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per