Udostępnij za pośrednictwem


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.object
AutoLockRenewer

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