Aracılığıyla paylaş


AutoLockRenewer Sınıf

Yenilemeyi otomatik olarak kilitle.

arka planda iletilerin ve/veya oturumların kilit belirteçlerini yenilemek için zaman uyumsuz bir AutoLockRenewer işleyicisi.

Devralma
builtins.object
AutoLockRenewer

Oluşturucu

AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: Callable[[ServiceBusSession | ServiceBusReceivedMessage, Exception | None], Awaitable[None]] | None = None, loop: AbstractEventLoop | None = None)

Parametreler

Name Description
max_lock_renewal_duration

Bu yenileyiciye kaydedilen kilitlerin korunacağı saniye olarak bir süre. Varsayılan değer 300'dür (5 dakika).

Default value: 300
on_lock_renew_failure
Optional[<xref:LockRenewFailureCallback>]

Kayıtlı olan yenilenebilir kaynakta kilit kaybolduğunda çağrılmak üzere bir geri arama belirtilebilir. Varsayılan değer Yok 'tur (geri çağırma yoktur).

Default value: None
loop
Default value: None

Örnekler

İleti kilidini otomatik olarak yenileme


   from azure.servicebus.aio import AutoLockRenewer

   lock_renewal = AutoLockRenewer()
   async with servicebus_receiver:
       async for message in servicebus_receiver:
           lock_renewal.register(servicebus_receiver, message, max_lock_renewal_duration=60)
           await process_message(message)
           await servicebus_receiver.complete_message(message)

Oturum kilidini otomatik olarak yenileme


       from azure.servicebus.aio import AutoLockRenewer

       lock_renewal = AutoLockRenewer()
       async 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)
           async for message in receiver:
               await process_message(message)
               await receiver.complete_message(message)

Yöntemler

close

Kalan açık kilit yenileme geleceklerini iptal ederek otomatik yenilemeyi sonlandır.

register

Otomatik kilit yenilemesi için yenilenebilir bir varlık kaydedin.

close

Kalan açık kilit yenileme geleceklerini iptal ederek otomatik yenilemeyi sonlandır.

async close() -> None

register

Otomatik kilit yenilemesi için yenilenebilir bir varlık kaydedin.

register(receiver: ServiceBusReceiver, renewable: ServiceBusReceivedMessage | ServiceBusSession, max_lock_renewal_duration: float | None = None, on_lock_renew_failure: Callable[[ServiceBusSession | ServiceBusReceivedMessage, Exception | None], Awaitable[None]] | None = None) -> None

Parametreler

Name Description
receiver
Gerekli

İletiyle ilişkili ServiceBusReceiver örneği veya otomatik olarak kilitlenen oturum yenilenecek.

renewable
Gerekli
Union[<xref:azure.servicebus.aio.ServiceBusReceivedMessage>,ServiceBusSession]

Yenilenmesi gereken kilitli bir varlık.

max_lock_renewal_duration

Kilidin korunması gereken saniye olarak bir süre. Varsayılan değer Yok'tur. Belirtilirse, bu değer oluşturucuda belirtilen varsayılan değeri geçersiz kılar.

Default value: None
on_lock_renew_failure
Optional[<xref:AsyncLockRenewFailureCallback>]

Kayıtlı yenilenebilir öğede kilit kaybolduğunda çağrılmak üzere zaman uyumsuz bir geri çağırma belirtilebilir. Varsayılan değer Yok 'tur (geri çağırma yoktur). :rtype: Yok

Default value: None