예제 #1
0
        private void btn_refresh_url_Click(object sender, EventArgs e)
        {
            btn_refresh_url.Enabled = false;

            try
            {
                urlDataTable.Clear();

                Int32 allMailCnt = 0, addMailCnt = 0, completeUrlCnt = 0;

                dgv_url.Columns["状态"].Visible = "全部".Equals(cb_parse_run_status.Text);

                foreach (DictionaryEntry de in (Hashtable)runtimeService.getAll().Clone())
                {
                    DataRow row = urlDataTable.NewRow();

                    row["URL"] = de.Key;

                    RuntimeEntity runtime = (RuntimeEntity)de.Value;
                    row["等待处理个数"]   = runtime.getWaitQueueCnt();
                    row["正在处理个数"]   = runtime.getStartQueueCnt();
                    row["处理成功个数"]   = runtime.getSuccessQueueCnt();
                    row["请求网页超时数"]  = runtime.getErrorQueueCnt();
                    row["抓取非重复邮箱数"] = runtime.AddMailCnt;
                    row["状态"]       = runtime.RunStatus;

                    if ("执行中".Equals(cb_parse_run_status.Text))
                    {
                        if (Constant.RunStatus.RUNING.Equals(runtime.RunStatus) || Constant.RunStatus.STOPING.Equals(runtime.RunStatus))
                        {
                            urlDataTable.Rows.Add(row);
                        }
                    }
                    else if ("执行完成".Equals(cb_parse_run_status.Text))
                    {
                        if (Constant.RunStatus.STOP.Equals(runtime.RunStatus))
                        {
                            urlDataTable.Rows.Add(row);
                        }
                    }
                    else
                    {
                        urlDataTable.Rows.Add(row);
                    }

                    allMailCnt     += runtime.AllMailCnt;
                    addMailCnt     += runtime.AddMailCnt;
                    completeUrlCnt += runtime.getSuccessQueueCnt() + runtime.getErrorQueueCnt();
                }

                lb_all_mail_cnt.Text      = "抓取邮箱数:" + Convert.ToString(allMailCnt);
                lb_add_mail_cnt.Text      = "非重复邮箱数:" + Convert.ToString(addMailCnt);
                lb_url_cnt.Text           = "请求链接数:" + Convert.ToString(urlDataTable.Rows.Count);
                lb_complete_url_cnt.Text  = "已分析链接数:" + Convert.ToString(completeUrlCnt);
                lb_parse_cnt_pre_sec.Text = "每秒分析链接数:" + Math.Ceiling(completeUrlCnt / stopwatch.Elapsed.TotalSeconds);
            }
            catch { }

            btn_refresh_url.Enabled = true;
        }