private static void ResetCacheProductInfo() { ProductAdapter productAdapter = new ProductAdapter(new SqlDb(Server.ConnectionString)); CacheProductInfo c = new CacheProductInfo(new SqlDb(Server.ConnectionString)); Console.WriteLine("1- Reset all cache by company (domain)"); Console.WriteLine("2- Reset all cache"); Console.WriteLine("3- Reset only 'product_info' all company"); Console.WriteLine("4- Reset cache ProductInfo by domain"); Console.Write("Input choose:"); int i = Convert.ToInt32(Console.ReadLine()); switch (i) { case 1: { Console.Write("Input domain:"); string strDomain = Console.ReadLine().Trim(); c.RefreshAllCacheAllProduct(productAdapter.GetCompanyIDFromDomain(strDomain)); } break; case 2: { List <long> lstCompany = productAdapter.GetAllCompanyIdCrawler(); for (int j = 0; j < lstCompany.Count; j++) { c.RefreshAllCacheAllProduct(lstCompany[j]); log.Info(string.Format("Update company {0}/{1}", j, lstCompany.Count - 1)); } } break; case 3: { List <long> lstCompany = productAdapter.GetAllCompanyIdCrawler(); for (int j = 0; j < lstCompany.Count; j++) { c.ResetAllCacheProductInfo(lstCompany[j]); log.Info(string.Format("Update company {0}/{1}", j, lstCompany.Count - 1)); } } break; case 4: { Console.Write("Input domain:"); string strDomain = Console.ReadLine().Trim(); c.ResetForCompany(productAdapter.GetCompanyIDFromDomain(strDomain)); } break; } }
private static void SyncCompanyCrawler() { int count = 0; RedisCacheCompanyCrawler redisCompany = RedisCacheCompanyCrawler.Instance(); RedisCompanyWaitCrawler redisCompanyWaitCrawler = RedisCompanyWaitCrawler.Instance(); RedisLastUpdateProduct redisLstProduct = RedisLastUpdateProduct.Instance(); CacheProductInfo cacheProductInfo = new CacheProductInfo(new SqlDb(Server.ConnectionString)); ProductAdapter productAdapter = new ProductAdapter(new SqlDb(Server.ConnectionString)); List <long> lstCrawler = productAdapter.GetAllCompanyIdCrawlerReload(); for (int i = 0; i < lstCrawler.Count; i++) { redisCompanyWaitCrawler.SetNexReload(lstCrawler[i], -10); //long companyID = lstCrawler[i]; //if (!redisCompanyWaitCrawler.CheckHaveItemReload(companyID)) //{ // count++; // redisCompanyWaitCrawler.SetNexReload(companyID, 1); // Company cmp = new Company(companyID); // redisCompany.SetCompanyInfo(companyID, cmp.Domain, 1, 1); // cacheProductInfo.RefeshCacheProductInfo(companyID); // redisLstProduct.ResetLastUpdateForCompany(companyID, productAdapter.GetListProductIdOfCompany(companyID)); //} log.Info(string.Format("sync company {0} {1}/{2}", count, i, lstCrawler.Count)); } List <long> lstCrawlerFindNew = productAdapter.GetAllCompanyIdCrawlerFindNew(); for (int i = 0; i < lstCrawler.Count; i++) { redisCompanyWaitCrawler.SetNexFindNew(lstCrawler[i], -10); long companyID = lstCrawler[i]; //if (!redisCompanyWaitCrawler.CheckHaveItemFindNew(companyID)) //{ // count++; // redisCompanyWaitCrawler.SetNexFindNew(companyID, 1); // Company cmp = new Company(companyID); // redisCompany.SetCompanyInfo(companyID, cmp.Domain, 1, 1); // cacheProductInfo.RefeshCacheProductInfo(companyID); // redisLstProduct.ResetLastUpdateForCompany(companyID, productAdapter.GetListProductIdOfCompany(companyID)); //} log.Info(string.Format("sync company {0} {1}/{2}", count, i, lstCrawler.Count)); } Console.WriteLine("Success sync company crawl!"); }
private static void ResetCacheProduct() { Console.Write("Input domain:"); string strDomain = Console.ReadLine().Trim(); ProductAdapter productAdapter = new ProductAdapter(new SqlDb(Server.ConnectionString)); RedisCheckDuplicateAdapter redisCheckDuplicate = RedisCheckDuplicateAdapter.Instace(); RedisLastUpdateProduct redisLastUpdate = RedisLastUpdateProduct.Instance(); CacheProductInfo cacheProductInfo = new CacheProductInfo(productAdapter.sqlDb); int count = 0; var companyID = productAdapter.GetCompanyIDFromDomain(strDomain); Company cmp = new Company(companyID); redisCheckDuplicate.ResetForCompany(companyID, cmp.Domain, productAdapter.sqlDb); redisLastUpdate.ResetForCompany(companyID, productAdapter.sqlDb); cacheProductInfo.ResetForCompany(companyID); log.Info(string.Format("Reset cache company {0}/{1}-{2} {3} products", count++, companyID, cmp.Domain, cmp.TotalProduct)); Console.WriteLine("Success reset data!"); }
private static void ResetAllCacheProduct() { Console.Write("Input sleep:"); int iSleep = Convert.ToInt32(Console.ReadLine()); ProductAdapter productAdapter = new ProductAdapter(new SqlDb(Server.ConnectionString)); RedisCheckDuplicateAdapter redisCheckDuplicate = RedisCheckDuplicateAdapter.Instace(); RedisLastUpdateProduct redisLastUpdate = RedisLastUpdateProduct.Instance(); CacheProductInfo cacheProductInfo = new CacheProductInfo(productAdapter.sqlDb); int count = 0; var companyIDs = productAdapter.GetAllCompanyIdCrawler(); foreach (long companyID in companyIDs) { Company cmp = new Company(companyID); redisCheckDuplicate.ResetForCompany(companyID, cmp.Domain, productAdapter.GetSqlDb()); redisLastUpdate.ResetForCompany(companyID, productAdapter.sqlDb); cacheProductInfo.ResetForCompany(companyID); log.Info(string.Format("Reset cache company {0}/{1}-{2} {3} products", count++, companyIDs.Count, cmp.Domain, cmp.TotalProduct)); Thread.Sleep(iSleep * 1000); } Console.WriteLine("Success reset data!"); }
private void btnRefreshCacheProductInfo_Click(object sender, EventArgs e) { CacheProductInfo c = new CacheProductInfo(new SqlDb(QT.Entities.Server.ConnectionString)); c.RefreshAllCacheAllProduct(5793170764020693231); }