Compartir a través de


ILeaseManager Interfaz

Definición

Si desea tener concesiones de almacén de EventProcessorHost en algún lugar distinto de Azure Storage, puede escribir su propio administrador de concesiones mediante esta interfaz.

Los administradores de Azure Storage usan el mismo almacenamiento para las concesiones y los puntos de control, por lo que ambas interfaces se implementan mediante la misma clase. Puede hacer lo mismo si tiene un almacén unificado para ambos tipos de datos.

Esta interfaz no especifica métodos de inicialización porque no tenemos ninguna manera de saber qué información requerirá la implementación.

public interface ILeaseManager
type ILeaseManager = interface
Public Interface ILeaseManager

Propiedades

LeaseDuration

Principalmente útil para las pruebas.

LeaseRenewInterval

Permite que una implementación del administrador de concesiones especifique en PartitionManager la frecuencia con la que debe examinar las concesiones y renovarlas. Para redistribuir concesiones de forma oportuna después de que un host deje de funcionar, se recomienda un intervalo relativamente corto, como diez segundos. Obviamente, debe ser inferior a la mitad de la longitud de la concesión, para evitar la expiración accidental.

Métodos

AcquireLeaseAsync(Lease)

Adquiera la concesión en la partición deseada para este EventProcessorHost.

Tenga en cuenta que es legal adquirir una concesión que ya es propiedad de otro host. El robo de concesiones es cómo se redistribuyen las particiones cuando se inician hosts adicionales.

CreateLeaseIfNotExistsAsync(String)

Cree en el almacén la información de concesión de la partición especificada, si no existe. No haga nada si ya existe en la tienda.

CreateLeaseStoreIfNotExistsAsync()

Cree el almacén de concesión si no existe, no haga nada si existe.

DeleteLeaseAsync(Lease)

Elimine la información de concesión de la partición especificada del almacén. Si no hay ninguna concesión almacenada para la partición especificada, se trata como correcta.

DeleteLeaseStoreAsync()

No lo usa EventProcessorHost, sino una función cómoda que se debe tener para realizar pruebas.

GetAllLeasesAsync()

Devuelve la información de concesión de todas las particiones. Una implementación típica podría simplemente llamar a GetLeaseAsync() en todas las particiones.

GetLeaseAsync(String)

Devuelve la información de concesión de la partición especificada. Puede devolver null si no se ha creado ninguna concesión en el almacén para la partición especificada.

LeaseStoreExistsAsync()

¿Existe el almacén de arrendamiento?

ReleaseLeaseAsync(Lease)

Renuncia a una concesión actualmente mantenida por este host.

Si la concesión se ha robado o ha expirado, liberarla no es necesaria y se producirá un error si se intenta.

RenewLeaseAsync(Lease)

Renueve una concesión actualmente mantenida por este host.

Si el contrato de arrendamiento ha sido robado, o expirado o liberado, no es posible renovarlo. Tendrá que llamar a getLease() y, a continuación, adquirirLease() de nuevo.

UpdateLeaseAsync(Lease)

Actualice el almacén con la información de la concesión proporcionada.

Actualmente es necesario mantener una concesión para actualizarla. Si la concesión ha sido robada, ha expirado o ha expirado, no se puede actualizar. La actualización debe renovar la concesión antes de realizar la actualización para evitar la expiración de la concesión durante el proceso.

Se aplica a