AutoLockRenewer Klas
Automatisch verlengen vergrendelt berichten en sessies met behulp van een achtergrondthreadgroep.
Automatisch verlengen vergrendelt berichten en sessies met behulp van een achtergrondthreadgroep. Het wordt aanbevolen max_worker in te stellen op een groot aantal of ThreadPoolExecutor van een groot max_workers getal door te geven wanneer AutoLockRenewer meerdere berichten of sessies tegelijk moet verwerken.
- Overname
-
builtins.objectAutoLockRenewer
Constructor
AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: LockRenewFailureCallback | None = None, executor: ThreadPoolExecutor | None = None, max_workers: int | None = None)
Parameters
Name | Description |
---|---|
max_lock_renewal_duration
|
Een tijd in seconden waarin vergrendelingen die zijn geregistreerd voor deze vernieuwer, moeten worden gehandhaafd. De standaardwaarde is 300 (5 minuten). Default value: 300
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
Een callback kan worden opgegeven om te worden aangeroepen wanneer de vergrendeling is verloren op de hernieuwbare energie die wordt geregistreerd. De standaardwaarde is Geen (geen callback). Default value: None
|
executor
|
Een door de gebruiker opgegeven threadgroep. Dit kan niet worden gecombineerd met het instellen van max_workers. Default value: None
|
max_workers
|
Geef het maximum aantal werkrollen in de threadgroep op. Als dit niet wordt opgegeven, wordt het gebruikte aantal afgeleid van het aantal kernen van de omgeving. Dit kan niet worden gecombineerd met de uitvoerder. Default value: None
|
max_lock_renewal_duration
Vereist
|
Een tijd in seconden waarin vergrendelingen die zijn geregistreerd voor deze vernieuwer, moeten worden gehandhaafd. De standaardwaarde is 300 (5 minuten). |
on_lock_renew_failure
Vereist
|
Optional[<xref:LockRenewFailureCallback>]
Een callback kan worden opgegeven om te worden aangeroepen wanneer de vergrendeling is verloren op de hernieuwbare energie die wordt geregistreerd. De standaardwaarde is Geen (geen callback). |
executor
Vereist
|
Een door de gebruiker opgegeven threadgroep. Dit kan niet worden gecombineerd met het instellen van max_workers. |
max_workers
Vereist
|
Geef het maximum aantal werkrollen in de threadgroep op. Als dit niet wordt opgegeven, wordt het gebruikte aantal afgeleid van het aantal kernen van de omgeving. Dit kan niet worden gecombineerd met de uitvoerder. |
Voorbeelden
Een berichtvergrendeling automatisch vernieuwen
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)
Een sessievergrendeling automatisch vernieuwen
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)
Methoden
close |
Stop automatisch verlengen door de threadgroep af te sluiten om eventuele resterende threads voor het verlengen van vergrendelingen op te schonen. |
register |
Registreer een hernieuwbare entiteit voor automatische verlenging van vergrendelingen. |
close
Stop automatisch verlengen door de threadgroep af te sluiten om eventuele resterende threads voor het verlengen van vergrendelingen op te schonen.
close(wait: bool = True) -> None
Parameters
Name | Description |
---|---|
wait
|
Of u wilt blokkeren totdat de threadpool is afgesloten. De standaardwaarde is True. Default value: True
|
Retouren
Type | Description |
---|---|
register
Registreer een hernieuwbare entiteit voor automatische verlenging van vergrendelingen.
register(receiver: ServiceBusReceiver, renewable: ServiceBusReceivedMessage | ServiceBusSession, max_lock_renewal_duration: float | None = None, on_lock_renew_failure: LockRenewFailureCallback | None = None) -> None
Parameters
Name | Description |
---|---|
receiver
Vereist
|
Het ServiceBusReceiver-exemplaar dat is gekoppeld aan het bericht of de sessie die automatisch moet worden vernieuwd. |
renewable
Vereist
|
Een vergrendelde entiteit die moet worden vernieuwd. |
max_lock_renewal_duration
|
Een tijd in seconden waarvoor de vergrendeling moet worden gehandhaafd. De standaardwaarde is Geen. Indien opgegeven, overschrijft deze waarde de standaardwaarde die is opgegeven in de constructor. Default value: None
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
Een callback kan worden opgegeven om te worden aangeroepen wanneer de vergrendeling is verloren op de hernieuwbare energie die wordt geregistreerd. De standaardwaarde is Geen (geen callback). Default value: None
|
Retouren
Type | Description |
---|---|
Azure SDK for Python