AutoLockRenewer Klass
Automatisk förnyelse av lås för meddelanden och sessioner med hjälp av en bakgrundstrådspool.
Automatisk förnyelse av lås för meddelanden och sessioner med hjälp av en bakgrundstrådspool. Vi rekommenderar att du anger max_worker till ett stort antal eller skickar ThreadPoolExecutor med stort max_workers tal när AutoLockRenewer ska hantera flera meddelanden eller sessioner samtidigt.
- Arv
-
builtins.objectAutoLockRenewer
Konstruktor
AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: LockRenewFailureCallback | None = None, executor: ThreadPoolExecutor | None = None, max_workers: int | None = None)
Parametrar
Name | Description |
---|---|
max_lock_renewal_duration
|
En tid i sekunder som låss som registrerats för den här förnyaren bör bibehållas i. Standardvärdet är 300 (5 minuter). Standardvärde: 300
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
En motringning kan anges som anropas när låset går förlorat på den förnybara som registreras. Standardvärdet är Ingen (inget återanrop). Standardvärde: None
|
executor
|
En användardefinerad trådpool. Detta kan inte kombineras med inställningen max_workers. Standardvärde: None
|
max_workers
|
Ange maximalt antal arbetare i trådpoolen. Om det inte anges härleds antalet som används från kärnantalet i miljön. Detta kan inte kombineras med executor. Standardvärde: None
|
max_lock_renewal_duration
Obligatorisk
|
En tid i sekunder som låss som registrerats för den här förnyaren bör bibehållas i. Standardvärdet är 300 (5 minuter). |
on_lock_renew_failure
Obligatorisk
|
Optional[<xref:LockRenewFailureCallback>]
En motringning kan anges som anropas när låset går förlorat på den förnybara som registreras. Standardvärdet är Ingen (inget återanrop). |
executor
Obligatorisk
|
En användardefinerad trådpool. Detta kan inte kombineras med inställningen max_workers. |
max_workers
Obligatorisk
|
Ange maximalt antal arbetare i trådpoolen. Om det inte anges härleds antalet som används från kärnantalet i miljön. Detta kan inte kombineras med executor. |
Exempel
Förnya automatiskt ett meddelandelås
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)
Förnya ett sessionslås automatiskt
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)
Metoder
close |
Avbryt autorenewal genom att stänga av trådpoolen för att rensa eventuella återstående låsförnyelsetrådar. |
register |
Registrera en förnybar entitet för automatisk förnyelse av lås. |
close
Avbryt autorenewal genom att stänga av trådpoolen för att rensa eventuella återstående låsförnyelsetrådar.
close(wait: bool = True) -> None
Parametrar
Name | Description |
---|---|
wait
|
Om du vill blockera tills trådpoolen har stängts av. Standardvärdet är True. Standardvärde: True
|
Returer
Typ | Description |
---|---|
register
Registrera en förnybar entitet för automatisk förnyelse av lås.
register(receiver: ServiceBusReceiver, renewable: ServiceBusReceivedMessage | ServiceBusSession, max_lock_renewal_duration: float | None = None, on_lock_renew_failure: LockRenewFailureCallback | None = None) -> None
Parametrar
Name | Description |
---|---|
receiver
Obligatorisk
|
Den ServiceBusReceiver-instans som är associerad med meddelandet eller sessionen som ska låsas automatiskt. |
renewable
Obligatorisk
|
En låst entitet som måste förnyas. |
max_lock_renewal_duration
|
En tid i sekunder som låset ska underhållas för. Standardvärdet är Ingen. Om det här värdet anges åsidosätter det standardvärde som anges i konstruktorn. Standardvärde: None
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
En motringning kan anges som anropas när låset går förlorat på den förnybara som registreras. Standardvärdet är Ingen (inget återanrop). Standardvärde: None
|
Returer
Typ | Description |
---|---|
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för