Compartilhar via


AutoLockRenewer Classe

Renovar automaticamente bloqueios para mensagens e sessões usando um pool de threads em segundo plano.

Renovar automaticamente bloqueios para mensagens e sessões usando um pool de threads em segundo plano. É recomendável definir max_worker para um número grande ou passar ThreadPoolExecutor de número de max_workers grande quando o AutoLockRenewer deve lidar com várias mensagens ou sessões simultaneamente.

Herança
builtins.object
AutoLockRenewer

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

Nome Description
max_lock_renewal_duration

Um tempo em segundos para o qual os bloqueios registrados nesse renovador devem ser mantidos. O valor padrão é 300 (5 minutos).

Valor padrão: 300
on_lock_renew_failure
Optional[<xref:LockRenewFailureCallback>]

Um retorno de chamada pode ser especificado para ser chamado quando o bloqueio é perdido na renovável que está sendo registrada. O valor padrão é None (sem retorno de chamada).

Valor padrão: None
executor

Um pool de threads especificado pelo usuário. Isso não pode ser combinado com a configuração max_workers.

Valor padrão: None
max_workers

Especifique o máximo de trabalhos no pool de threads. Se não for especificado, o número usado será derivado da contagem de núcleos do ambiente. Isso não pode ser combinado com executor.

Valor padrão: None
max_lock_renewal_duration
Obrigatório

Um tempo em segundos para o qual os bloqueios registrados nesse renovador devem ser mantidos. O valor padrão é 300 (5 minutos).

on_lock_renew_failure
Obrigatório
Optional[<xref:LockRenewFailureCallback>]

Um retorno de chamada pode ser especificado para ser chamado quando o bloqueio é perdido na renovável que está sendo registrada. O valor padrão é None (sem retorno de chamada).

executor
Obrigatório

Um pool de threads especificado pelo usuário. Isso não pode ser combinado com a configuração max_workers.

max_workers
Obrigatório

Especifique o máximo de trabalhos no pool de threads. Se não for especificado, o número usado será derivado da contagem de núcleos do ambiente. Isso não pode ser combinado com 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

Pare a renovação automática desligando o pool de threads para limpo todos os threads de renovação de bloqueio restantes.

register

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

close

Pare a renovação automática desligando o pool de threads para limpo todos os threads de renovação de bloqueio restantes.

close(wait: bool = True) -> None

Parâmetros

Nome Description
wait

Se o pool de threads deve ser bloqueado até que o pool de threads seja desligado. O padrão é True.

Valor padrão: True

Retornos

Tipo Description

register

Registre 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

Nome Description
receiver
Obrigatório

A instância serviceBusReceiver associada à mensagem ou à sessão a ser renovada automaticamente.

renewable
Obrigatório

Uma entidade bloqueada que precisa ser renovada.

max_lock_renewal_duration

Um tempo em segundos para o qual o bloqueio deve ser mantido. O valor padrão é Nenhum. Se especificado, esse valor substituirá o valor padrão especificado no construtor.

Valor padrão: None
on_lock_renew_failure
Optional[<xref:LockRenewFailureCallback>]

Um retorno de chamada pode ser especificado para ser chamado quando o bloqueio é perdido na renovável que está sendo registrada. O valor padrão é None (sem retorno de chamada).

Valor padrão: None

Retornos

Tipo Description