public void Delete() { if (cGaterWeb != null && taskEntity != null && taskEntity.GaterherState == EnumGloabParas.EnumThreadState.Normal) { string errMsg = string.Empty; TaskRunTickItemList runItemList = XmlHelper.LoadFromXml <TaskRunTickItemList>(Program.GetConfigPath("run.xml"), ref errMsg); if (!string.IsNullOrEmpty(errMsg)) { WinFormLib.Core.MessageBoxHelper.ShowError(errMsg); } TaskRunTickItem item = runItemList.Where(q => q.TaskTempName.Value == taskEntity.TaskTempName.Value).FirstOrDefault(); if (item != null) { runItemList.Remove(item); XmlHelper.Save2File <TaskRunTickItemList>(runItemList, Program.GetConfigPath("run.xml"), ref errMsg); if (!string.IsNullOrEmpty(errMsg)) { WinFormLib.Core.MessageBoxHelper.ShowError(errMsg); return; } string taskFilePath = @"Run\" + taskEntity.TaskTempName + ".xml"; System.IO.File.Delete(Program.GetConfigPath(taskFilePath)); foreach (TabPage tabePage in this.tabTaskRunLog.TabPages) { if (tabePage.Name == taskEntity.TaskTempName.Value) { this.tabTaskRunLog.TabPages.Remove(tabePage); break; } } cGaterWeb = null; } } }
public cGatherTaskThreadItem(cGatherTaskManage manager, int index) { this.m_GatherTaskManage = manager; this._getTempData = new cGatherGetTempData(); this.ThreadIndex = index; this.ThreadName = "thread" + index; threadWorker = new BackgroundWorker(); threadWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(threadWorker_RunWorkerCompleted); threadWorker.DoWork += new DoWorkEventHandler(threadWorker_DoWork); }
public cGatherTaskTabPageManage(System.Windows.Forms.TabControl tabTaskRunLog, TaskRunItem _taskEntity) { this.taskEntity = _taskEntity; if (taskEntity == null) { throw new Exception(taskEntity.TaskTempName + "查找不到"); } this.tabTaskRunLog = tabTaskRunLog; this.Name = taskEntity.TaskTempName.Value; Int64 taskID = taskEntity.TaskID; string taskName = taskEntity.TaskName.Value; if (taskEntity.AutoLog) { string logPath = taskEntity.DownFilePath.Value + @"\" + taskEntity.TaskTempName.Value + ".log"; fileLogger = new DMSFrame.Loggers.FileLogger(Program.GetConfigPath(logPath)); } string taskFilePath = @"Run\" + taskEntity.TaskTempName + ".xml"; cGaterWeb = new cGatherTaskManage(taskEntity); cGaterWeb.e_Log += new OnGatherLog(delegate(cGatherEventArgs evt) { string message = (int)evt.MessageType + evt.ThreadName + ":" + evt.Message; if (taskEntity.AutoLog && fileLogger != null) { lock (fileLogger) { fileLogger.Log(message); } } if (txtLog != null) { cControlInvoked.UpdateText(txtLog, message + "\r\n"); Application.DoEvents(); } }); cGaterWeb.e_TotalCount += new OnGatherTotalCount(delegate(cGatherCompletedEventArgs evt) { taskEntity.TrueCount = evt.TrueCount; taskEntity.TotalCount = evt.TotalCount; taskEntity.ErrorCount = evt.ErrorCount; taskEntity.GaterherState = evt.GaterherState; }); cGaterWeb.e_GatherManagereCompleteCount += new OnGatherManagereCompleteCount(delegate(cGatherCompletedEventArgs evt) { #region MyRegion taskEntity.TrueCount = evt.TrueCount; taskEntity.TotalCount = evt.TotalCount; taskEntity.ErrorCount = evt.ErrorCount; taskEntity.GaterherState = evt.GaterherState; #endregion }); cGaterWeb.e_ThreadAllCompleted += new OnGatherThreadAllCompleted(delegate(cGatherUrlItemEventArgs evt) { #region MyRegion if (txtLog != null) { cControlInvoked.UpdateText(txtLog, string.Format("{0}共采集到{1}条,已采集{2}条,错误{3}条!\r\n", (int)EnumGloabParas.EnumMessageType.WARNING, evt.TotalCount, evt.TrueCount, evt.ErrorCount)); cControlInvoked.UpdateText(txtLog, string.Format("{0}thread all colsed!\r\n", (int)EnumGloabParas.EnumMessageType.WARNING)); } int totalCount = evt.RunWebUrls.Count + evt.RunFileUrls.Count; taskEntity.GaterherState = totalCount == 0 ? EnumGloabParas.EnumThreadState.SpiderCompleted : EnumGloabParas.EnumThreadState.Suspended; if (cGaterWeb != null) { cGaterWeb.GaterherState = taskEntity.GaterherState; } taskEntity.TrueCount = evt.TrueCount; taskEntity.TotalCount = evt.TotalCount; taskEntity.ErrorCount = evt.ErrorCount; if (dgvRunTaskList.DataSource != null) { SaveData(); } SaveTaskFile(taskFilePath, evt); if (taskEntity.GaterherState == EnumGloabParas.EnumThreadState.SpiderCompleted) { if (taskEntity.ExcuteType == EnumGloabParas.EnumExcuteType.GetAndPublish) { #region MyRegion if (taskEntity.TriggerType == EnumGloabParas.EnumTriggerType.GetData) { taskPlanCompleted = 0; if (e_OnGatherRunPlanItemCompleted != null) { e_OnGatherRunPlanItemCompleted(new cGatherPublishCompletedEventArgs() { DataSource = m_DataTable, TaskEntity = taskEntity, }); } } else if (taskEntity.TriggerType == EnumGloabParas.EnumTriggerType.Publish) { if (e_OnGatherPublishCompleted != null) { e_OnGatherPublishCompleted(new cGatherPublishCompletedEventArgs() { DataSource = m_DataTable, TaskEntity = taskEntity, }); } } else { if (e_OnGatherPublishCompleted != null) { e_OnGatherPublishCompleted(new cGatherPublishCompletedEventArgs() { DataSource = m_DataTable, TaskEntity = taskEntity, }); } } #endregion } else { if (e_GatherNotityCompleted != null) { e_GatherNotityCompleted(new cGatherPublishCompletedEventArgs() { DataSource = m_DataTable, TaskEntity = taskEntity, }); } } } #endregion }); cGaterWeb.e_OnGatherDataCompleted += new OnGatherDataCompleted(delegate(cGatherDataEventArgs evt) { dgvRunTaskList.Invoke(new MethodInvoker(delegate() { if (m_DataTable != null) { m_DataTable.Merge(evt.dataTable); dgvRunTaskList.DataSource = m_DataTable; AutoNum--; if (AutoNum < 0) { AutoNum = StaticConst.AutoSaveNum; SaveData(); SaveTaskFile(taskFilePath, evt); } } else { m_DataTable = evt.dataTable; dgvRunTaskList.AutoGenerateColumns = true; dgvRunTaskList.DataSource = m_DataTable; } dgvRunTaskList.FirstDisplayedScrollingRowIndex = dgvRunTaskList.RowCount - 1; })); }); }