AutoLockRenewer Klasa
Automatyczne odnawianie blokad dla komunikatów i sesji przy użyciu puli wątków w tle.
Automatyczne odnawianie blokad dla komunikatów i sesji przy użyciu puli wątków w tle. Zaleca się ustawienie max_worker na dużą liczbę lub przekazanie klasy ThreadPoolExecutor dużej liczby max_workers, gdy funkcja AutoLockRenewer ma obsługiwać wiele komunikatów lub sesji jednocześnie.
- Dziedziczenie
-
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)
Parametry
Nazwa | Opis |
---|---|
max_lock_renewal_duration
|
Czas w sekundach, dla którego należy utrzymywać blokady zarejestrowane w tym module odnawiania. Wartość domyślna to 300 (5 minut). Domyślna wartość: 300
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
Wywołanie zwrotne można określić, aby było wywoływane, gdy blokada zostanie utracona w zarejestrowanej energii odnawialnej. Wartość domyślna to None (brak wywołania zwrotnego). Domyślna wartość: None
|
executor
|
Pula wątków określona przez użytkownika. Nie można połączyć tego ustawienia z max_workers. Domyślna wartość: None
|
max_workers
|
Określ maksymalną liczbę procesów roboczych w puli wątków. Jeśli nie zostanie określona liczba użyta, będzie pochodzić z liczby rdzeni środowiska. Nie można jej połączyć z funkcją wykonawcza. Domyślna wartość: None
|
max_lock_renewal_duration
Wymagane
|
Czas w sekundach, dla którego należy utrzymywać blokady zarejestrowane w tym module odnawiania. Wartość domyślna to 300 (5 minut). |
on_lock_renew_failure
Wymagane
|
Optional[<xref:LockRenewFailureCallback>]
Wywołanie zwrotne można określić, aby było wywoływane, gdy blokada zostanie utracona w zarejestrowanej energii odnawialnej. Wartość domyślna to None (brak wywołania zwrotnego). |
executor
Wymagane
|
Pula wątków określona przez użytkownika. Nie można połączyć tego ustawienia z max_workers. |
max_workers
Wymagane
|
Określ maksymalną liczbę procesów roboczych w puli wątków. Jeśli nie zostanie określona liczba użyta, będzie pochodzić z liczby rdzeni środowiska. Nie można jej połączyć z funkcją wykonawcza. |
Przykłady
Automatyczne odnawianie blokady komunikatu
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)
Automatyczne odnawianie blokady sesji
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)
Metody
close |
Przestań autorenewal, zamykając pulę wątków, aby wyczyścić wszystkie pozostałe wątki odnawiania blokady. |
register |
Zarejestruj jednostkę odnawialną na potrzeby automatycznego odnawiania blokady. |
close
Przestań autorenewal, zamykając pulę wątków, aby wyczyścić wszystkie pozostałe wątki odnawiania blokady.
close(wait: bool = True) -> None
Parametry
Nazwa | Opis |
---|---|
wait
|
Czy zablokować, dopóki pula wątków nie zostanie zamknięta. Wartość domyślna to True. Domyślna wartość: True
|
Zwraca
Typ | Opis |
---|---|
register
Zarejestruj jednostkę odnawialną na potrzeby automatycznego odnawiania blokady.
register(receiver: ServiceBusReceiver, renewable: ServiceBusReceivedMessage | ServiceBusSession, max_lock_renewal_duration: float | None = None, on_lock_renew_failure: LockRenewFailureCallback | None = None) -> None
Parametry
Nazwa | Opis |
---|---|
receiver
Wymagane
|
Wystąpienie usługi ServiceBusReceiver skojarzone z komunikatem lub sesją, która ma zostać odnowiona automatycznie. |
renewable
Wymagane
|
Zablokowana jednostka, która musi zostać odnowiona. |
max_lock_renewal_duration
|
Czas w sekundach, dla którego należy zachować blokadę. Wartość domyślna to Brak. Jeśli zostanie określona, ta wartość zastąpi wartość domyślną określoną w konstruktorze. Domyślna wartość: None
|
on_lock_renew_failure
|
Optional[<xref:LockRenewFailureCallback>]
Wywołanie zwrotne można określić, aby było wywoływane, gdy blokada zostanie utracona w zarejestrowanej energii odnawialnej. Wartość domyślna to None (brak wywołania zwrotnego). Domyślna wartość: None
|
Zwraca
Typ | Opis |
---|---|
Azure SDK for Python