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