Compartir a través de


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.object
AutoLockRenewer

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