Raven.Database.Indexing.WorkContext.AddError C# (CSharp) Метод

AddError() публичный Метод

public AddError ( string index, string key, string error ) : void
index string
key string
error string
Результат void
		public void AddError(string index, string key, string error)
		{
			serverErrors.Enqueue(new ServerError
			{
				Document = key,
				Error = error,
				Index = index,
				Timestamp = SystemTime.UtcNow
			});
			if (serverErrors.Count <= 50)
				return;
			ServerError ignored;
			serverErrors.TryDequeue(out ignored);
		}

Usage Example

Пример #1
0
        public override void Remove(string[] keys, WorkContext context)
        {
            Write((writer, analyzer, stats) =>
            {
                stats.Operation = IndexingWorkStats.Status.Ignore;
                logIndexing.Debug(() => string.Format("Deleting ({0}) from {1}", string.Join(", ", keys), name));
                var batchers = context.IndexUpdateTriggers.Select(x => x.CreateBatcher(name))
                               .Where(x => x != null)
                               .ToList();

                keys.Apply(
                    key => batchers.ApplyAndIgnoreAllErrors(
                        exception =>
                {
                    logIndexing.WarnException(
                        string.Format("Error when executed OnIndexEntryDeleted trigger for index '{0}', key: '{1}'",
                                      name, key),
                        exception);
                    context.AddError(name, key, exception.Message);
                },
                        trigger => trigger.OnIndexEntryDeleted(key)));
                writer.DeleteDocuments(keys.Select(k => new Term(Constants.DocumentIdFieldName, k.ToLowerInvariant())).ToArray());
                batchers.ApplyAndIgnoreAllErrors(
                    e =>
                {
                    logIndexing.WarnException("Failed to dispose on index update trigger", e);
                    context.AddError(name, null, e.Message);
                },
                    batcher => batcher.Dispose());
                return(keys.Length);
            });
        }
All Usage Examples Of Raven.Database.Indexing.WorkContext::AddError