次の方法で共有


ILeaseManager インターフェイス

定義

Azure Storage 以外の場所に EventProcessorHost ストア リースを設定する場合は、このインターフェイスを使用して独自のリース マネージャーを作成できます。

Azure Storage マネージャーはリースとチェックポイントの両方に同じストレージを使用するため、両方のインターフェイスは同じクラスによって実装されます。 両方の種類のデータに対して統合ストアがある場合は、同じことを自由に行うことができます。

実装に必要な情報を知る方法がないため、このインターフェイスでは初期化メソッドは指定されません。

public interface ILeaseManager
type ILeaseManager = interface
Public Interface ILeaseManager

プロパティ

LeaseDuration

主にテストに役立ちます。

LeaseRenewInterval

リース マネージャーの実装で、リースをスキャンして更新する頻度を PartitionManager に指定できるようにします。 ホストの運用停止後に適切なタイミングでリースを再配布するには、10 秒などの比較的短い間隔をお勧めします。 間違った有効期限が切れないようにするには、明らかにリースの長さの半分未満にする必要があります。

メソッド

AcquireLeaseAsync(Lease)

この EventProcessorHost の目的のパーティションのリースを取得します。

別のホストが既に所有しているリースを取得することは有効であることに注意してください。 リース盗みとは、追加のホストが開始されたときにパーティションを再配布する方法です。

CreateLeaseIfNotExistsAsync(String)

特定のパーティションのリース情報が存在しない場合は、ストアにを作成します。 ストアに既に存在する場合は、何も行いません。

CreateLeaseStoreIfNotExistsAsync()

リース ストアが存在しない場合は作成し、存在する場合は何も行いません。

DeleteLeaseAsync(Lease)

特定のパーティションのリース情報をストアから削除します。 特定のパーティションに格納されたリースがない場合、それは成功として扱われます。

DeleteLeaseStoreAsync()

EventProcessorHost では使用されませんが、テストに便利な関数です。

GetAllLeasesAsync()

すべてのパーティションのリース情報を返します。 一般的な実装では、すべてのパーティションで GetLeaseAsync() を呼び出すだけです。

GetLeaseAsync(String)

指定したパーティションのリース情報を返します。 指定したパーティションのストアにリースが作成されていない場合は null を返すことができます。

LeaseStoreExistsAsync()

リース ストアは存在しますか?

ReleaseLeaseAsync(Lease)

このホストが現在保持しているリースを放棄します。

リースが盗まれた場合、または期限切れになった場合、リースの解放は不要であり、試行されると失敗します。

RenewLeaseAsync(Lease)

このホストが現在保持しているリースを更新します。

リースが盗まれたり、期限切れになったり、解放されたりした場合、更新することはできません。 getLease() を呼び出してから、acquireLease() をもう一度呼び出す必要があります。

UpdateLeaseAsync(Lease)

提供されたリースの情報を使用してストアを更新します。

更新するには、現在リースを保持する必要があります。 リースが盗まれた場合、期限切れになった場合、または解放された場合は、更新できません。 更新では、プロセス中にリースの有効期限が切れないように、更新を実行する前にリースを更新する必要があります。

適用対象