public void Run() { while (true) { BotTaskService bt = new BotTaskService(); Random r = new Random(); IW2S_WX_BaiduCommend keyTask = bt.GetBotTask(); //get_task(); if (keyTask == null || keyTask.CommendKeyword == "" || keyTask.CommendKeyword == null) { SetReady(); log("No search task ! start search Detail !!!"); Thread.Sleep(1000); //WX_Data wscData = bt.GetWxData(); //if (wscData == null) //{ //} continue; } SetBusy(); var update = new UpdateDocument { { "$set", new QueryDocument { { "WXStatus", 1 }, { "BotStatus", 1 } } } }; var result = MongoDBHelper.Instance.Get_IW2S_BaiduCommend().UpdateOne(new QueryDocument { { "_id", keyTask._id } }, update); Snapshot(keyTask); //if (list.Count > 0) //{ // foreach (var busKeyword in list) // { // Snapshot(keyTask, busKeyword, ExcludeKeyword); // } //} try { update = new UpdateDocument { { "$set", new QueryDocument { { "WXStatus", 2 }, { "BotStatus", 2 } } } }; result = MongoDBHelper.Instance.Get_IW2S_BaiduCommend().UpdateOne(new QueryDocument { { "_id", keyTask._id } }, update); } catch (Exception ex) { log(DateTime.Now + "ERROR ." + ex.Message); Thread.Sleep(2000); } } }
public List <Dnl_MappingCoPresent> BaiduQuery(Dnl_KeywordMapping searchTsk, List <Dnl_KeywordMapping> taskList) { List <Dnl_MappingCoPresent> linkvaluelist = new List <Dnl_MappingCoPresent>(); BotTaskService bt = new BotTaskService(); var keyIds = taskList.Select(x => x.KeywordId.ToString()).ToList(); //获取链接数据 List <Dnl_Link_BaiduDto> linklist = bt.GetBaiduLinkTitleList(keyIds); //获取当前计算映射的位置 int index = 0; for (int i = 0; i < taskList.Count; i++) { if (searchTsk.Keyword == taskList[i].Keyword) { index = i; } } //计算与其他映射关系 for (int i = 0; i < taskList.Count; i++) { Dnl_MappingCoPresent lk = new Dnl_MappingCoPresent(); lk.source = index; lk.target = i; lk.KeywordMappingId = searchTsk._id; lk.ProjectId = searchTsk.ProjectId; lk.CategoryId = searchTsk.CategoryId; int linkNum = 0; foreach (var item in linklist) { if (!string.IsNullOrEmpty(item.Title)) { if (item.Title.Contains(searchTsk.Keyword) && item.Title.Contains(taskList[i].Keyword)) { linkNum = linkNum + 1; } else if (!string.IsNullOrEmpty(item.Description) && item.Description.Contains(searchTsk.Keyword) && item.Description.Contains(taskList[i].Keyword)) { linkNum = linkNum + 1; } } } if (index == i && linkNum == 0) { linkNum = 1; } lk.value = linkNum; linkvaluelist.Add(lk); // } } SaveBaiduResult(linkvaluelist); return(linkvaluelist); }
public void Run() { while (true) { BotTaskService bt = new BotTaskService(); Random r = new Random(); IW2S_SG_BaiduCommend keyTask = bt.GetBotTask(); //get_task(); if (keyTask == null || keyTask.CommendKeyword == "" || keyTask.CommendKeyword == null) { SetReady(); log("没有搜索任务 !!!"); Thread.Sleep(3000); continue; } SetBusy(); var update = new UpdateDocument { { "$set", new QueryDocument { { "WXStatus", 1 }, { "BotStatus", 1 } } } }; var result = MongoDBHelper.Instance.Get_IW2S_SG_BaiduCommend().UpdateOne(new QueryDocument { { "_id", keyTask._id } }, update); Snapshot(keyTask); try { update = new UpdateDocument { { "$set", new QueryDocument { { "WXStatus", 2 }, { "BotStatus", 2 } } } }; result = MongoDBHelper.Instance.Get_IW2S_SG_BaiduCommend().UpdateOne(new QueryDocument { { "_id", keyTask._id } }, update); } catch (Exception ex) { log(DateTime.Now + "ERROR ." + ex.Message); Thread.Sleep(2000); } } }
public static void SetUpdate() { string connStr = AISSystem.AppSettingHelper.GetAppSetting("conStr"); BotTaskService bt = new BotTaskService(); //var WLList = bt.GetWhiteList(connStr); //var BLList = bt.GetBlackList(connStr); string sql = @"select Id, [NovelName],[AuthorName],[LinkUrl],[Domain],[TopDomain],[LinkTitle],[LinkAbstract],[Keyword] from [dbo].[ResultLiks] where NovelId in('11','12') and States =0"; DataTable dt = DBHelper.Query(connStr, sql); foreach (DataRow item in dt.Rows) { int States = 0; int blackid = 0; string topDomain = item["TopDomain"].ToString(); int nid = Convert.ToInt32(item["Id"]); //foreach (var itemBL in BLList) //{ // if (itemBL.Domain.Trim().ToLower().Equals(topDomain.Trim().ToLower())) // { // States = 2; // blackid = itemBL.Id; // } //} //foreach (var itemWL in WLList) //{ // if (itemWL.AuthorizedUrl1.Contains(topDomain)) // { // States = 1; // } //} string updatesql = "update ResultLiks set BlackId={0} ,[States]={1} where Id={2} ".FormatStr(blackid, States, nid); var count = DBHelper.RunScript(connStr, updatesql); Console.WriteLine("成功修改一条!"); } Console.WriteLine("全部完成"); }
public void Run() { while (true) { BotTaskService bt = new BotTaskService(); Random r = new Random(); Thread.Sleep(2000); FreeTask keyTask = bt.GetBotTask(BotTypes.ItemSnapshot); //get_task(); if (keyTask == null || keyTask.TaskName == "" || keyTask.TaskName == null) { SetReady(); log("No search task !"); Thread.Sleep(1000); var sssH = DateTime.Now.Hour; if (sssH == 5) { var miuH = DateTime.Now.Minute; if (miuH < 3) { var queryTask = new QueryDocument { { "BotIntervalHours", 24 }, { "IsStarted", true } }; var colH = MongoDBHelper.Instance.Get_FreeTask(); var resultH = colH.Find(queryTask).SortByDescending(x => x.CreatedAt).ToList(); foreach (var item in resultH) { var update1 = new UpdateDocument { { "$set", new QueryDocument { { "IsBot", false } } } }; var Hresult = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument { { "_id", item._id } }, update1); } } } var Zhou = DateTime.Now.DayOfWeek.ToString(); if (Zhou == "Sunday") { var Zsss = DateTime.Now.Hour; if (Zsss == 5) { var miuZ = DateTime.Now.Minute; if (miuZ < 3) { var queryTask = new QueryDocument { { "BotIntervalHours", 168 }, { "IsStarted", true } }; var colZ = MongoDBHelper.Instance.Get_FreeTask(); var resultZ = colZ.Find(queryTask).SortByDescending(x => x.CreatedAt).ToList(); foreach (var item in resultZ) { var update2 = new UpdateDocument { { "$set", new QueryDocument { { "IsBot", false } } } }; var Zresult = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument { { "_id", item._id } }, update2); } } } } var Tian = DateTime.Now.Day; if (Tian == 30) { var Tsss = DateTime.Now.Hour; if (Tsss == 5) { var miuT = DateTime.Now.Minute; if (miuT < 3) { var queryTask = new QueryDocument { { "BotIntervalHours", 720 }, { "IsStarted", true } }; var colT = MongoDBHelper.Instance.Get_FreeTask(); var resultT = colT.Find(queryTask).SortByDescending(x => x.CreatedAt).ToList(); foreach (var item in resultT) { var update3 = new UpdateDocument { { "$set", new QueryDocument { { "IsBot", false } } } }; var Tresult = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument { { "_id", item._id } }, update3); } } } } DateTime start = Convert.ToDateTime(DateTime.Now.AddDays(0).AddHours(8).ToShortDateString()); DateTime end = Convert.ToDateTime(DateTime.Now.AddDays(1).AddHours(8)); continue; } SetBusy(); //string sql = @"update taskparameters set LastBotStartAt ='{0}',IsBot=1 where Id={1}".FormatStr(DateTime.Now, keyTask.Id); //MySqlDbHelper.ExecuteSql(com, sql); int?LinksNum = 0; LinksNum = keyTask.recordNum + 1; var update = new UpdateDocument { { "$set", new QueryDocument { { "IsBot", true }, { "LastBotStartAt", DateTime.Now.AddHours(8) }, { "recordNum", LinksNum } } } }; // var result = MongoDBHelper<FreeTask>.Update("FreeTask", new QueryDocument { { "_id", keyTask._id } }, update); var result = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument { { "_id", keyTask._id } }, update); List <FreeTaskRecord> list = new List <FreeTaskRecord>(); FreeTaskRecord ftr = new FreeTaskRecord(); ftr._id = new ObjectId(); ftr.IsStarted = keyTask.IsStarted; ftr.IsBot = true; ftr.Taskid = keyTask._id; ftr.TaskName = keyTask.TaskName; ftr.UsrId = keyTask.UsrId; ftr.ServiceState = "Normal"; ftr.CreatedAt = DateTime.Now.AddHours(8); ftr.LastBotStartAt = DateTime.Now.AddHours(8); // ftr.LastBotEndAt = DateTime.Now.AddHours(8); ftr.Dataquantity = 0; ftr.LinksNum = 0; ftr.ShopsNum = 0; ftr.SiteId = Guid.Parse("A00A672B-DD05-65FB-4EE0-CFA26EBF2ED5"); ftr.SiteName = "taobao"; ftr.LanIP = "";//TaobaoWebHelper.GetLanIP(); ftr.UId = keyTask.UId; ftr.ProjectId = keyTask.ProjectId; // var savedq = MongoDBHelper<FreeTaskRecord>.InsertData(ftr, "FreeTaskRecord"); list.Add(ftr); var col = MongoDBHelper.Instance.Get_FreeTaskRecord(); col.InsertMany(list); string recordId = ftr._id.ToString(); Snapshot(keyTask, com, recordId); try { // update = new UpdateDocument { { "$set", new QueryDocument { { "LastBotEndAt", DateTime.Now.AddHours(8) } } } }; // result = MongoDBHelper<FreeTask>.Update("FreeTask", new QueryDocument { { "_id", keyTask._id } }, update); update = new UpdateDocument { { "$set", new QueryDocument { { "LastBotEndAt", DateTime.Now.AddHours(8) } } } }; result = MongoDBHelper.Instance.Get_FreeTask().UpdateOne(new QueryDocument { { "_id", keyTask._id } }, update); update = new UpdateDocument { { "$set", new QueryDocument { { "LastBotEndAt", DateTime.Now.AddHours(8) } } } }; // result = MongoDBHelper<FreeTaskRecord>.Update("FreeTaskRecord", new QueryDocument { { "_id", new ObjectId(recordId)} }, update); result = MongoDBHelper.Instance.Get_FreeTaskRecord().UpdateOne(new QueryDocument { { "_id", new ObjectId(recordId) } }, update); } catch (Exception ex) { log("get_proj_to_qry ERROR ." + ex.Message); Thread.Sleep(5000); } //} } }
public void Run() { while (true) { #region 百度 //百度 BotTaskService bt = new BotTaskService(); Dnl_KeywordMapping keyTask = bt.GetBaiduBotTask(); //get_task(); //if (keyTask == null || keyTask.Keyword == "" || keyTask.Keyword == null) //{ // log("无计算目标,休眠一天!"); // Thread.Sleep(24 * 60 * 60 * 1000); // //WX_Data wscData = bt.GetWxData(); // //if (wscData == null) // //{ // //} // continue; //} //更新项目内所有该关键词的计算状态 if (keyTask != null) { var update = new UpdateDocument { { "$set", new QueryDocument { { "JisuanStatus", 1 } } } }; var builderMap = Builders <Dnl_KeywordMapping> .Filter; var filterMap = builderMap.Eq(x => x.ProjectId, keyTask.ProjectId) & builderMap.Eq(x => x.KeywordId, keyTask.KeywordId); var result = MongoDBHelper.Instance.GetDnl_KeywordMapping().UpdateMany(filterMap, update); List <Dnl_KeywordMapping> listKey = bt.GetBaiduBotTaskList(keyTask.ProjectId); BaiduSnapshot(keyTask, listKey); try { update = new UpdateDocument { { "$set", new QueryDocument { { "JisuanStatus", 2 } } } }; result = MongoDBHelper.Instance.GetDnl_KeywordMapping().UpdateMany(filterMap, update); } catch (Exception ex) { log(DateTime.Now + "错误:" + ex.Message); Thread.Sleep(2000); } } #endregion #region 微信 MediaKeywordMappingMongo WXKeyTask = bt.GetMediaBotTask(); //get_task(); if (WXKeyTask == null || WXKeyTask.Keyword == "" || WXKeyTask.Keyword == null) { log("无计算目标,休眠一天!"); Thread.Sleep(24 * 60 * 60 * 1000); //WX_Data wscData = bt.GetWxData(); //if (wscData == null) //{ //} continue; } //更新项目内所有该关键词的计算状态 var WXupdate = new UpdateDocument { { "$set", new QueryDocument { { "JisuanStatus", 1 } } } }; var builderMediaMap = Builders <MediaKeywordMappingMongo> .Filter; var filterMediaMap = builderMediaMap.Eq(x => x.ProjectId, WXKeyTask.ProjectId) & builderMediaMap.Eq(x => x.KeywordId, WXKeyTask.KeywordId); MongoDBHelper.Instance.GetMediaKeywordMapping().UpdateMany(filterMediaMap, WXupdate); List <MediaKeywordMappingMongo> listMediaKey = bt.GetWeiXinBotTaskList(WXKeyTask.ProjectId); WeiXinSnapshot(WXKeyTask, listMediaKey); try { WXupdate = new UpdateDocument { { "$set", new QueryDocument { { "JisuanStatus", 2 } } } }; MongoDBHelper.Instance.GetMediaKeywordMapping().UpdateMany(filterMediaMap, WXupdate); } catch (Exception ex) { log(DateTime.Now + "错误:" + ex.Message); Thread.Sleep(2000); } #endregion } }