AutoLockRenewer Classe
Renovação automática de bloqueios para mensagens e sessões com um conjunto de threads de fundo.
Renovação automática de bloqueios para mensagens e sessões com um conjunto de threads de fundo. Recomenda-se definir max_worker para um grande número ou transmitir ThreadPoolExecutor de grande número de max_workers quando AutoLockRenewer é suposto lidar com várias mensagens ou sessões em simultâneo.
- Herança
-
builtins.objectAutoLockRenewer
Construtor
AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: LockRenewFailureCallback | None = None, executor: ThreadPoolExecutor | None = None, max_workers: int | 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>]
Pode ser especificada uma chamada de retorno para ser chamada quando o bloqueio é perdido na fonte renovável que está a ser registada. O valor predefinido é Nenhum (sem chamada de retorno). Default value: None
|
executor
|
Um conjunto de threads especificado pelo utilizador. Isto não pode ser combinado com a definição max_workers. Default value: None
|
max_workers
|
Especifique os trabalhos máximos no conjunto de threads. Se não for especificado, o número utilizado será derivado da contagem de núcleos do ambiente. Isto não pode ser combinado com o executor. Default value: None
|
max_lock_renewal_duration
Necessário
|
Deve manter-se um tempo em segundos para o qual os bloqueios registados neste renovador devem ser mantidos. O valor predefinido é 300 (5 minutos). |
on_lock_renew_failure
Necessário
|
Optional[<xref:LockRenewFailureCallback>]
Pode ser especificada uma chamada de retorno para ser chamada quando o bloqueio é perdido na fonte renovável que está a ser registada. O valor predefinido é Nenhum (sem chamada de retorno). |
executor
Necessário
|
Um conjunto de threads especificado pelo utilizador. Isto não pode ser combinado com a definição max_workers. |
max_workers
Necessário
|
Especifique os trabalhos máximos no conjunto de threads. Se não for especificado, o número utilizado será derivado da contagem de núcleos do ambiente. Isto não pode ser combinado com o executor. |
Exemplos
Renovar automaticamente um bloqueio de mensagem
from azure.servicebus import AutoLockRenewer
lock_renewal = AutoLockRenewer(max_workers=4)
with servicebus_receiver:
for message in servicebus_receiver:
# Auto renew message for 1 minute.
lock_renewal.register(servicebus_receiver, message, max_lock_renewal_duration=60)
process_message(message)
servicebus_receiver.complete_message(message)
Renovar automaticamente um bloqueio de sessão
from azure.servicebus import AutoLockRenewer
lock_renewal = AutoLockRenewer(max_workers=4)
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)
for message in receiver:
process_message(message)
receiver.complete_message(message)
Métodos
close |
Cesse a autorenewal encerrando o conjunto de threads para limpar quaisquer threads de renovação de bloqueio restantes. |
register |
Registar uma entidade renovável para renovação automática de bloqueio. |
close
Cesse a autorenewal encerrando o conjunto de threads para limpar quaisquer threads de renovação de bloqueio restantes.
close(wait: bool = True) -> None
Parâmetros
Name | Description |
---|---|
wait
|
Quer bloquear até que o conjunto de threads seja encerrado. A predefinição é Verdadeiro. Default value: True
|
Devoluções
Tipo | Description |
---|---|
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: LockRenewFailureCallback | None = None) -> None
Parâmetros
Name | Description |
---|---|
receiver
Necessário
|
A instância do ServiceBusReceiver que está associada à mensagem ou à sessão a renovar automaticamente. |
renewable
Necessário
|
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 especificado, este valor substituirá o valor predefinido especificado no construtor. Default value: None
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
Pode ser especificada uma chamada de retorno para ser chamada quando o bloqueio é perdido na fonte renovável que está a ser registada. O valor predefinido é Nenhum (sem chamada de retorno). Default value: None
|
Devoluções
Tipo | Description |
---|---|
Azure SDK for Python
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários