private void PushDownloadHtml(object sender, EventArgs e) { var rabbitMqServer = RabbitMQManager.GetRabbitMQServer("rabbitMQ_DownloadComment"); var publisher = new ProducerBasic(rabbitMqServer, ConsumerDownlaodHtml.WSS_DOWNLOADHTML); var productAdapter = new ProductAdapter(new SqlDb(QT.Entities.Server.ConnectionString)); var companys = eventGetCompanys(); foreach (var companyId in companys) { int pageIndex = 1; DataTable lstProduct = productAdapter.GetProductLinkPushDownloadHtml(companyId, pageIndex); while (lstProduct.Rows.Count > 0) { foreach (DataRow tuple in lstProduct.Rows) { while (true) { try { publisher.Publish(new QT.Entities.CrawlerProduct.Comment.JobComment() { CompanyId = companyId, ProductId = Convert.ToInt64(tuple["ID"]), Url = Convert.ToString(tuple["DetailUrl"]) } .ToArbyteJSON()); break; } catch (Exception ex) { log.Info(ex); Thread.Sleep(1000); } } } lstProduct = productAdapter.GetProductLinkPushDownloadHtml(companyId, ++pageIndex); } } MessageBox.Show(string.Format("Pushed for {0} company!", companys.Count)); }
public override void ProcessMessage(global::RabbitMQ.Client.Events.BasicDeliverEventArgs message) { var productAdapter = new ProductAdapter(new SqlDb(QT.Entities.Server.ConnectionString)); var CompanyId = Convert.ToInt64(Encoding.UTF8.GetString(message.Body)); var pageIndex = 1; var tblProduct = productAdapter.GetProductLinkPushDownloadHtml(CompanyId, pageIndex); while (tblProduct.Rows.Count > 0) { foreach (DataRow VARIABLE in tblProduct.Rows) { DownlaodHtml(Convert.ToInt64(VARIABLE["ID"]), CompanyId, Convert.ToString(VARIABLE["DetailUrl"])); } } GetChannel().BasicAck(message.DeliveryTag, true); }