AutoLockRenewer Clase
Renovación automática del bloqueo.
Un controlador AutoLockRenewer asincrónico para renovar los tokens de bloqueo de mensajes o sesiones en segundo plano.
- Herencia
-
builtins.objectAutoLockRenewer
Constructor
AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: Callable[[ServiceBusSession | ServiceBusReceivedMessage, Exception | None], Awaitable[None]] | None = None, loop: AbstractEventLoop | None = None)
Parámetros
Nombre | Description |
---|---|
max_lock_renewal_duration
|
Se debe mantener un tiempo en segundos para el que se bloquean los bloqueos registrados en este renovador. El valor predeterminado es 300 (5 minutos). Valor predeterminado: 300
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
Se puede especificar una devolución de llamada que se va a llamar cuando se pierde el bloqueo en las energías renovables que se están registrando. El valor predeterminado es None (sin devolución de llamada). Valor predeterminado: None
|
loop
|
Valor predeterminado: None
|
Ejemplos
Renovar automáticamente un bloqueo de mensaje
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)
Renovar automáticamente un bloqueo de sesión
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)
Métodos
close |
Suspenda la autorenewal cancelando los futuros futuros de renovación de bloqueo abierto restantes. |
register |
Registre una entidad renovable para la renovación automática del bloqueo. |
close
Suspenda la autorenewal cancelando los futuros futuros de renovación de bloqueo abierto restantes.
async close() -> None
register
Registre una entidad renovable para la renovación automática del bloqueo.
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
Parámetros
Nombre | Description |
---|---|
receiver
Requerido
|
Instancia de ServiceBusReceiver asociada al mensaje o a la sesión que se va a renovar automáticamente. |
renewable
Requerido
|
Union[<xref:azure.servicebus.aio.ServiceBusReceivedMessage>,ServiceBusSession]
Una entidad bloqueada que debe renovarse. |
max_lock_renewal_duration
|
Tiempo en segundos durante el que se debe mantener el bloqueo. El valor predeterminado es Ninguno. Si se especifica, este valor invalidará el valor predeterminado especificado en el constructor. Valor predeterminado: None
|
on_lock_renew_failure
|
Optional[<xref:AsyncLockRenewFailureCallback>]
Se puede especificar una devolución de llamada asincrónica a la que se llamará cuando se pierda el bloqueo en la renovación registrada. El valor predeterminado es None (sin devolución de llamada). :rtype: None Valor predeterminado: None
|
Azure SDK for Python