public QueueJobDetailsResult CheckQueueJobDetails(string typeName) { var type = AppDomain.CurrentDomain.GetAssemblies().ToList() .SelectMany(s => s.GetTypes()) .FirstOrDefault(i=>i.FullName == typeName); if(type == null) { throw new Exception("Unrecognized type " + typeName); } var returnValue = new QueueJobDetailsResult { QueueDataType = type }; DateTime tenMinuetsAgo = DateTime.UtcNow.AddMinutes(-10); returnValue.ErrorItems = _documentSession.Advanced.LuceneQuery<object>() .WhereEquals("@metadata.Raven-Entity-Name", _documentSession.Advanced.DocumentStore.Conventions.GetTypeTagName(type)) .AndAlso().WhereEquals("Status", EnumJobStatus.Error) .WaitForNonStaleResultsAsOfNow(TimeSpan.FromSeconds(120)) .Select(i=>CreateQueueJobDetailsResultItem(i)).ToList(); returnValue.InProcessItems = _documentSession.Advanced.LuceneQuery<object>() .WhereEquals("@metadata.Raven-Entity-Name", _documentSession.Advanced.DocumentStore.Conventions.GetTypeTagName(type)) .AndAlso().WhereEquals("Status", EnumJobStatus.InProcess) .WaitForNonStaleResultsAsOfNow(TimeSpan.FromSeconds(120)) .Select(i=>CreateQueueJobDetailsResultItem(i)).ToList(); returnValue.SuspectInProcessItem = _documentSession.Advanced.LuceneQuery<object>() .WhereEquals("@metadata.Raven-Entity-Name", _documentSession.Advanced.DocumentStore.Conventions.GetTypeTagName(type)) .AndAlso().WhereEquals("Status", EnumJobStatus.Error) .AndAlso().WhereLessThan("QueuedDateTimeUtc", tenMinuetsAgo) .WaitForNonStaleResultsAsOfNow(TimeSpan.FromSeconds(120)) .Select(i=>CreateQueueJobDetailsResultItem(i)).ToList(); return returnValue; }
public QueueJobDetailsResult CheckQueueJobDetails(string typeName) { var type = AppDomain.CurrentDomain.GetAssemblies().ToList() .SelectMany(s => s.GetTypes()) .FirstOrDefault(i => i.FullName == typeName); if (type == null) { throw new Exception("Unrecognized type " + typeName); } var returnValue = new QueueJobDetailsResult { QueueDataType = type }; DateTime tenMinuetsAgo = DateTime.UtcNow.AddMinutes(-10); returnValue.ErrorItems = _documentSession.Advanced.LuceneQuery <object>() .WhereEquals("@metadata.Raven-Entity-Name", _documentSession.Advanced.DocumentStore.Conventions.GetTypeTagName(type)) .AndAlso().WhereEquals("Status", EnumJobStatus.Error) .WaitForNonStaleResultsAsOfNow(TimeSpan.FromSeconds(120)) .Select(i => CreateQueueJobDetailsResultItem(i)).ToList(); returnValue.InProcessItems = _documentSession.Advanced.LuceneQuery <object>() .WhereEquals("@metadata.Raven-Entity-Name", _documentSession.Advanced.DocumentStore.Conventions.GetTypeTagName(type)) .AndAlso().WhereEquals("Status", EnumJobStatus.InProcess) .WaitForNonStaleResultsAsOfNow(TimeSpan.FromSeconds(120)) .Select(i => CreateQueueJobDetailsResultItem(i)).ToList(); returnValue.SuspectInProcessItem = _documentSession.Advanced.LuceneQuery <object>() .WhereEquals("@metadata.Raven-Entity-Name", _documentSession.Advanced.DocumentStore.Conventions.GetTypeTagName(type)) .AndAlso().WhereEquals("Status", EnumJobStatus.Error) .AndAlso().WhereLessThan("QueuedDateTimeUtc", tenMinuetsAgo) .WaitForNonStaleResultsAsOfNow(TimeSpan.FromSeconds(120)) .Select(i => CreateQueueJobDetailsResultItem(i)).ToList(); return(returnValue); }