Bagikan melalui


AutoLockRenewer Kelas

Perpanjangan kunci otomatis.

Penangan AutoLockRenewer asinkron untuk memperbarui token kunci pesan dan/atau sesi di latar belakang.

Warisan
builtins.object
AutoLockRenewer

Konstruktor

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

Parameter

Nama Deskripsi
max_lock_renewal_duration

Waktu dalam detik yang mengunci yang terdaftar untuk perpanjangan ini harus dipertahankan. Nilai defaultnya adalah 300 (5 menit).

nilai default: 300
on_lock_renew_failure
Optional[<xref:LockRenewFailureCallback>]

Panggilan balik dapat ditentukan untuk dipanggil ketika kunci hilang pada yang dapat diperbarui yang sedang didaftarkan. Nilai default adalah None (tidak ada panggilan balik).

nilai default: None
loop
nilai default: None

Contoh

Memperbarui kunci pesan secara otomatis


   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)

Memperbarui kunci sesi secara otomatis


       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)

Metode

close

Hentikan autorenewal dengan membatalkan masa depan perpanjangan kunci terbuka yang tersisa.

register

Daftarkan entitas terbarukan untuk perpanjangan kunci otomatis.

close

Hentikan autorenewal dengan membatalkan masa depan perpanjangan kunci terbuka yang tersisa.

async close() -> None

register

Daftarkan entitas terbarukan untuk perpanjangan kunci otomatis.

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

Parameter

Nama Deskripsi
receiver
Diperlukan

Instans ServiceBusReceiver yang terkait dengan pesan atau sesi yang akan diperbarui secara otomatis.

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

Entitas terkunci yang perlu diperbarui.

max_lock_renewal_duration

Waktu dalam detik kunci harus dipertahankan. Nilai defaultnya adalah Tidak Ada. Jika ditentukan, nilai ini akan menggantikan nilai default yang ditentukan pada konstruktor.

nilai default: None
on_lock_renew_failure
Optional[<xref:AsyncLockRenewFailureCallback>]

Panggilan balik asinkron dapat ditentukan untuk dipanggil ketika kunci hilang pada pembaruan yang didaftarkan. Nilai default adalah None (tidak ada panggilan balik). :rtype: None

nilai default: None