コード例 #1
0
ファイル: EtlProcess.cs プロジェクト: rstonkus/ravendb
        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();
            }
        }
コード例 #2
0
ファイル: EtlLoader.cs プロジェクト: qcjxberin/ravendb
        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();
                        }
                    }
                }
        }
コード例 #3
0
 public override string GetItemId()
 {
     return(EtlProcessState.GenerateItemName(DatabaseName, ConfigurationName, TransformationName));
 }