예제 #1
0
                    public void Enqueue(WorkItem item)
                    {
                        Contract.ThrowIfFalse(
                            item.DocumentId != null,
                            "can only enqueue a document work item"
                            );

                        UpdateLastAccessTime();

                        var added = _workItemQueue.AddOrReplace(item);

                        Logger.Log(
                            FunctionId.WorkCoordinator_DocumentWorker_Enqueue,
                            s_enqueueLogger,
                            Environment.TickCount,
                            item.DocumentId,
                            !added
                            );

                        CheckHigherPriorityDocument(item);

                        SolutionCrawlerLogger.LogWorkItemEnqueue(
                            Processor._logAggregator,
                            item.Language,
                            item.DocumentId,
                            item.InvocationReasons,
                            item.IsLowPriority,
                            item.ActiveMember,
                            added
                            );
                    }
예제 #2
0
                    private void EnqueueActiveFileItem(WorkItem item)
                    {
                        this.UpdateLastAccessTime();
                        var added = _workItemQueue.AddOrReplace(item);

                        Logger.Log(FunctionId.WorkCoordinator_ActiveFileEnqueue, s_enqueueLogger, Environment.TickCount, item.DocumentId, !added);
                        SolutionCrawlerLogger.LogActiveFileEnqueue(_processor._logAggregator);
                    }