Exemple #1
0
 public void DoneTask(SpiderTask task)
 {
     //任务完成后
     if (task.Status == eTaskStatus.Fail)
         ZicLog4Net.ProcessLog(MethodBase.GetCurrentMethod(),
             new StringBuilder().AppendFormat("SpiderTask Fail: {0} - {1} - {2}", task.HandlerAgent, task.Error, task.Url).ToString(),
             "Grab", LogType.Warn);
     //完整替换List成员必须使用index赋值方法。不能直接赋值引用对象成员。
     int index = TaskQueue.tasks.FindIndex(d => d.Id == task.Id);//在任务列表中找到该任务
     if (index >= 0) {
         TaskQueue.tasks[index] = task;//更新任务状态
         BroadcastRanderTask();//这里用来更新界面显示
     }
 }
 public void Inject(SpiderTask task) {
     this.SourceCode = task.Source;
     this.SourceLink = task.Url;
     this.GrabDate = DateTime.Now;
 }