コード例 #1
0
        }                                              // процент выполнения задачи

        public SynonymTask(IList <string> names, uint pricecode, IndexerHandler owner)
        {
            State      = TaskState.None;
            priceCode  = pricecode;
            this.names = names;
            handler    = owner;
            id         = DateTime.Now.Ticks;
            matches    = new Dictionary <string, SynonymSummary>();
            thread     = new Thread(ThreadWork);
            StartDate  = DateTime.UtcNow;
            Rate       = 0;
            thread.Start();
            State = TaskState.Running;
        }
コード例 #2
0
        public WcfSynonymBox FindSynonymsResult(string taskId)
        {
            var handler = (IndexerHandler)Monitor.GetInstance().GetHandler(typeof(IndexerHandler));
            var task    = handler.GetTask(Convert.ToInt64(taskId));

            if (task == null)
            {
                return new WcfSynonymBox {
                           Status = TaskState.Error, Message = String.Format("Задача {0} не найдена", taskId)
                }
            }
            ;
            if (task.State == TaskState.Error)
            {
                return new WcfSynonymBox {
                           Status = TaskState.Error, Message = task.Error
                }
            }
            ;
            if (task.State == TaskState.Success)
            {
                return(IndexerHandler.TransformToSynonymBox(task.Matches));
            }
            if (task.State == TaskState.Running)
            {
                return new WcfSynonymBox {
                           Status = TaskState.Running, Message = task.Rate.ToString()
                }
            }
            ;
            if (task.State == TaskState.Canceled)
            {
                return new WcfSynonymBox {
                           Status = TaskState.Canceled, Message = task.Rate.ToString()
                }
            }
            ;
            return(new WcfSynonymBox {
                Status = task.State
            });
        }