Aracılığıyla paylaş


AutoLockRenewer Sınıf

Arka plan iş parçacığı havuzu kullanarak iletiler ve oturumlar için otomatik yenileme kilitleri.

Arka plan iş parçacığı havuzu kullanarak iletiler ve oturumlar için otomatik yenileme kilitleri. AutoLockRenewer'ın aynı anda birden çok ileti veya oturumla ilgilenmesi gerektiğinde max_worker büyük bir sayıya ayarlanması veya büyük max_workers sayıda ThreadPoolExecutor geçirilmesi önerilir.

Devralma
builtins.object
AutoLockRenewer

Oluşturucu

AutoLockRenewer(max_lock_renewal_duration: float = 300, on_lock_renew_failure: LockRenewFailureCallback | None = None, executor: ThreadPoolExecutor | None = None, max_workers: int | 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>]

Kaydedilen yenilenebilir değerde kilit kaybolduğunda çağrılmak için bir geri arama belirtilebilir. Varsayılan değer Yok 'tır (geri çağırma yoktur).

Default value: None
executor

Kullanıcı tarafından belirtilen iş parçacığı havuzu. Bu, max_workers ayarıyla birleştirilemez.

Default value: None
max_workers

İş parçacığı havuzundaki en fazla çalışanı belirtin. Belirtilmezse, kullanılan sayı ortamın çekirdek sayısından türetilir. Bu, yürütücü ile birleştirilemez.

Default value: None
max_lock_renewal_duration
Gerekli

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

on_lock_renew_failure
Gerekli
Optional[<xref:LockRenewFailureCallback>]

Kaydedilen yenilenebilir değerde kilit kaybolduğunda çağrılmak için bir geri arama belirtilebilir. Varsayılan değer Yok 'tır (geri çağırma yoktur).

executor
Gerekli

Kullanıcı tarafından belirtilen iş parçacığı havuzu. Bu, max_workers ayarıyla birleştirilemez.

max_workers
Gerekli

İş parçacığı havuzundaki en fazla çalışanı belirtin. Belirtilmezse, kullanılan sayı ortamın çekirdek sayısından türetilir. Bu, yürütücü ile birleştirilemez.

Örnekler

İleti kilidini otomatik olarak yenileme


   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)

Oturum kilidini otomatik olarak yenileme


       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)

Yöntemler

close

Kalan kilit yenileme iş parçacıklarını temizlemek için iş parçacığı havuzunu kapatarak otomatik yenilemeyi durdurun.

register

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

close

Kalan kilit yenileme iş parçacıklarını temizlemek için iş parçacığı havuzunu kapatarak otomatik yenilemeyi durdurun.

close(wait: bool = True) -> None

Parametreler

Name Description
wait

İş parçacığı havuzu kapatılıncaya kadar engellenip engellenmeyeceği. Varsayılan değer True'dur.

Default value: True

Döndürülenler

Tür Description

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: LockRenewFailureCallback | None = None) -> None

Parametreler

Name Description
receiver
Gerekli

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

renewable
Gerekli

Yenilenmesi gereken kilitli bir varlık.

max_lock_renewal_duration

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

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

Kaydedilen yenilenebilir değerde kilit kaybolduğunda çağrılmak için bir geri arama belirtilebilir. Varsayılan değer Yok 'tır (geri çağırma yoktur).

Default value: None

Döndürülenler

Tür Description