Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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!");
        }
Esempio n. 3
0
        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!");
        }
Esempio n. 4
0
        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!");
        }
Esempio n. 5
0
        private void btnRefreshCacheProductInfo_Click(object sender, EventArgs e)
        {
            CacheProductInfo c = new CacheProductInfo(new SqlDb(QT.Entities.Server.ConnectionString));

            c.RefreshAllCacheAllProduct(5793170764020693231);
        }