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.objectAutoLockRenewer
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 |
---|---|
Azure SDK for Python
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin