Partilhar via


AutoLockRenewer Classe

Renovação do bloqueio automático.

Um processador AutoLockRenewer assíncrono para renovar os tokens de bloqueio de mensagens e/ou sessões em segundo plano.

Herança
builtins.object
AutoLockRenewer

Construtor

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

Name Description
max_lock_renewal_duration

Deve manter-se um tempo em segundos para o qual os bloqueios registados neste renovador devem ser mantidos. O valor predefinido é 300 (5 minutos).

Default value: 300
on_lock_renew_failure
Optional[<xref:LockRenewFailureCallback>]

Uma chamada de retorno pode ser especificada para ser chamada quando o bloqueio é perdido na renovável que está a ser registada. O valor predefinido é Nenhum (sem chamada de retorno).

Default value: None
loop
Default value: None

Exemplos

Renovar automaticamente um bloqueio de mensagem


   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 automaticamente um bloqueio de sessão


       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

Cesse a renovação automática cancelando quaisquer futuros de renovação de bloqueio aberto restantes.

register

Registar uma entidade renovável para renovação automática de bloqueio.

close

Cesse a renovação automática cancelando quaisquer futuros de renovação de bloqueio aberto restantes.

async close() -> None

register

Registar uma entidade renovável para renovação automática de bloqueio.

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

Name Description
receiver
Necessário

A instância serviceBusReceiver que está associada à mensagem ou à sessão para ser renovada automaticamente.

renewable
Necessário
Union[<xref:azure.servicebus.aio.ServiceBusReceivedMessage>,ServiceBusSession]

Uma entidade bloqueada que precisa de ser renovada.

max_lock_renewal_duration

Um tempo em segundos para o qual o bloqueio deve ser mantido. O valor predefinido é Nenhum. Se for especificado, este valor substituirá o valor predefinido especificado no construtor.

Default value: None
on_lock_renew_failure
Optional[<xref:AsyncLockRenewFailureCallback>]

Pode ser especificada uma chamada de retorno assíncrona para ser chamada quando o bloqueio é perdido no registo renovável. O valor predefinido é Nenhum (sem chamada de retorno). :rtype: Nenhum

Default value: None