AutoLockRenewer Classe
Renouvellement automatique des verrous pour les messages et les sessions à l’aide d’un pool de threads d’arrière-plan.
Renouvellement automatique des verrous pour les messages et les sessions à l’aide d’un pool de threads d’arrière-plan. Il est recommandé de définir max_worker sur un grand nombre ou de transmettre ThreadPoolExecutor de grand max_workers nombre lorsque AutoLockRenewer est censé traiter plusieurs messages ou sessions simultanément.
- Héritage
-
builtins.objectAutoLockRenewer
Constructeur
AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: LockRenewFailureCallback | None = None, executor: ThreadPoolExecutor | None = None, max_workers: int | None = None)
Paramètres
Nom | Description |
---|---|
max_lock_renewal_duration
|
Durée en secondes pendant laquelle les verrous inscrits auprès de ce renouvellement doivent être conservés pour. La valeur par défaut est 300 (5 minutes). valeur par défaut: 300
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
Un rappel peut être spécifié pour être appelé lorsque le verrou est perdu sur le renouvelable en cours d’inscription. La valeur par défaut est None (aucun rappel). valeur par défaut: None
|
executor
|
Pool de threads spécifié par l’utilisateur. Cela ne peut pas être combiné avec le paramètre max_workers. valeur par défaut: None
|
max_workers
|
Spécifiez le nombre maximal de workers dans le pool de threads. S’il n’est pas spécifié, le nombre utilisé est dérivé du nombre de cœurs de l’environnement. Cela ne peut pas être combiné avec l’exécuteur. valeur par défaut: None
|
max_lock_renewal_duration
Obligatoire
|
Durée en secondes pendant laquelle les verrous inscrits auprès de ce renouvellement doivent être conservés pour. La valeur par défaut est 300 (5 minutes). |
on_lock_renew_failure
Obligatoire
|
Optional[<xref:LockRenewFailureCallback>]
Un rappel peut être spécifié pour être appelé lorsque le verrou est perdu sur le renouvelable en cours d’inscription. La valeur par défaut est None (aucun rappel). |
executor
Obligatoire
|
Pool de threads spécifié par l’utilisateur. Cela ne peut pas être combiné avec le paramètre max_workers. |
max_workers
Obligatoire
|
Spécifiez le nombre maximal de workers dans le pool de threads. S’il n’est pas spécifié, le nombre utilisé est dérivé du nombre de cœurs de l’environnement. Cela ne peut pas être combiné avec l’exécuteur. |
Exemples
Renouveler automatiquement un verrou de message
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)
Renouveler automatiquement un verrou de session
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éthodes
close |
Arrêtez le renouvellement automatique en arrêtant le pool de threads pour propre tous les threads de renouvellement de verrou restants. |
register |
Inscrire une entité renouvelable pour le renouvellement automatique de verrou. |
close
Arrêtez le renouvellement automatique en arrêtant le pool de threads pour propre tous les threads de renouvellement de verrou restants.
close(wait: bool = True) -> None
Paramètres
Nom | Description |
---|---|
wait
|
Indique s’il faut bloquer jusqu’à l’arrêt du pool de threads. La valeur par défaut est True. valeur par défaut: True
|
Retours
Type | Description |
---|---|
register
Inscrire une entité renouvelable pour le renouvellement automatique de verrou.
register(receiver: ServiceBusReceiver, renewable: ServiceBusReceivedMessage | ServiceBusSession, max_lock_renewal_duration: float | None = None, on_lock_renew_failure: LockRenewFailureCallback | None = None) -> None
Paramètres
Nom | Description |
---|---|
receiver
Obligatoire
|
Le ServiceBusReceiver instance associé au message ou à la session à verrouiller automatiquement. |
renewable
Obligatoire
|
Entité verrouillée qui doit être renouvelée. |
max_lock_renewal_duration
|
Durée en secondes pendant laquelle le verrou doit être maintenu. La valeur par défaut est Aucun. Si elle est spécifiée, cette valeur remplace la valeur par défaut spécifiée au niveau du constructeur. valeur par défaut: None
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
Un rappel peut être spécifié pour être appelé lorsque le verrou est perdu sur le renouvelable en cours d’inscription. La valeur par défaut est None (aucun rappel). valeur par défaut: None
|
Retours
Type | Description |
---|---|
Azure SDK for Python
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour