public static EtlProcessState GetProcessState(DocumentDatabase database, string configurationName, string transformationName) { using (database.ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context)) using (context.OpenReadTransaction()) { var stateBlittable = database.ServerStore.Cluster.Read(context, EtlProcessState.GenerateItemName(database.Name, configurationName, transformationName)); if (stateBlittable != null) { return JsonDeserializationClient.EtlProcessState(stateBlittable); } return new EtlProcessState(); } }
public void HandleDatabaseValueChanged(DatabaseRecord record) { using (_serverStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context)) using (context.OpenReadTransaction()) { foreach (var process in _processes) { var state = _serverStore.Cluster.Read(context, EtlProcessState.GenerateItemName(record.DatabaseName, process.ConfigurationName, process.TransformationName)); if (state == null) { process.Reset(); } } } }
public override string GetItemId() { return(EtlProcessState.GenerateItemName(DatabaseName, ConfigurationName, TransformationName)); }