Exemplo n.º 1
0
 private void triggerProcessStateChangeEvent(CrawlerJobProcessState crawlerJobProcessState)
 {
     if (this.processStateChangeEvent != null && !this.isAborting)
     {
         this.processStateChangeEvent(this, crawlerJobProcessState);
     }
 }
Exemplo n.º 2
0
 private void crawlerJobProcessStateChangeEvent(ICrawlerJob crawlerJob, CrawlerJobProcessState processState)
 {
     if (!this.decoupleEvents)
     {
         CrawlerProcessInformation crawlerProcessInformation = this.determineCrawlerProcessInformationForCrawlerJob(crawlerJob);
         if (crawlerProcessInformation != null)
         {
             //
             crawlerProcessInformation.processState = this.determineProcessInformationProcessStateFromCrawlerJobProcessState(processState);
             crawlerProcessInformation.pageUrlStr   = this.determinePageUrlStrFromCrawlerJob(crawlerJob);
             crawlerProcessInformation.triggerCrawlerProcessInformationUpdateEvent();
         }
     }
 }
Exemplo n.º 3
0
        private void crawlerJob_finishedJobDelegate(ICrawlerJob sender, CrawlerJobProcessState processState)
        {
            if (sender != null && processState == CrawlerJobProcessState.Finished)
            {
                //
                lock (this.runningCrawlerJobList)
                {
                    //
                    this.runningCrawlerJobList.Remove(sender);

                    //
                    if (this.crawlerJobPoolWorkerUpdate != null)
                    {
                        this.crawlerJobPoolWorkerUpdate(this.runningCrawlerJobList.Count);
                    }
                }

                //
                this.launcherThreadResetEvent.Set();
            }
        }
Exemplo n.º 4
0
            private CrawlerProcessInformation.ProcessState determineProcessInformationProcessStateFromCrawlerJobProcessState(CrawlerJobProcessState jobProcessState)
            {
                //
                CrawlerProcessInformation.ProcessState processState = CrawlerProcessInformation.ProcessState.NotStarted;

                //
                if (jobProcessState == CrawlerJobProcessState.Initialize)
                {
                    processState = CrawlerProcessInformation.ProcessState.Initialize;
                }
                else if (jobProcessState == CrawlerJobProcessState.LockPage)
                {
                    processState = CrawlerProcessInformation.ProcessState.LockPage;
                }
                else if (jobProcessState == CrawlerJobProcessState.Download)
                {
                    processState = CrawlerProcessInformation.ProcessState.Download;
                }
                else if (jobProcessState == CrawlerJobProcessState.Analyze)
                {
                    processState = CrawlerProcessInformation.ProcessState.Analyze;
                }
                else if (jobProcessState == CrawlerJobProcessState.RetrieveImages)
                {
                    processState = CrawlerProcessInformation.ProcessState.RetrieveImages;
                }
                else if (jobProcessState == CrawlerJobProcessState.GenerateSubJobs)
                {
                    processState = CrawlerProcessInformation.ProcessState.GenerateSubJobs;
                }
                else if (jobProcessState == CrawlerJobProcessState.Erroneous)
                {
                    processState = CrawlerProcessInformation.ProcessState.Erroneous;
                }
                else if (jobProcessState == CrawlerJobProcessState.Finished)
                {
                    processState = CrawlerProcessInformation.ProcessState.Finished;
                }
                else if (jobProcessState == CrawlerJobProcessState.Aborting)
                {
                    processState = CrawlerProcessInformation.ProcessState.Aborting;
                }
                else if (jobProcessState == CrawlerJobProcessState.Filtering)
                {
                    processState = CrawlerProcessInformation.ProcessState.Filtering;
                }

                //
                return(processState);
            }