/// <summary> /// 取某一个彩种的最新的20期开奖结果 /// </summary> /// <param name="lottery"></param> /// <returns></returns> //[HttpGet, HttpPost, Route("getList")] public ActionResult GetOpenResultList(string lottery) { List <OpenResult> resultList = OpenResultApp.GetNewestResult(lottery); var list = (from r in resultList select new { issue_no = r.issue_number, open_time = r.open_time, open_data = r.open_data }).ToList(); return(Content(list.ToJson())); }
/// <summary> /// 执行抓取 /// </summary> private void DoPick() { Task.Run(() => { List <Type> managerList = ReflectionHelper.GetClasses <PickerManager>();//.Where(t => t.Name == "JSK3PickerManager").ToList(); ParallelOptions options = new ParallelOptions { MaxDegreeOfParallelism = 10 }; Parallel.ForEach(managerList, type => { try { PickerManager pickerManager = Activator.CreateInstance(type) as PickerManager; while (true) { try { List <OpenResult> list = pickerManager.DoPick(TaskCount); int result = OpenResultApp.Insert(list); if (result < 0) { lock (locker) { log.Error($"插入结果到数据库失败。数量:{list.Count},类型:{type.ToString()}"); } } Thread.Sleep(SleepTime); } catch (Exception ex) { lock (locker) { this.log.Error($"抓取异常。详情:{ex.ToString()}"); } Thread.Sleep(SleepTime); } } } catch (Exception ex) { lock (locker) { this.log.Error($"抓取异常。详情:{ex.ToString()}"); } } }); }); }
/// <summary> /// 清除开奖结果 /// </summary> /// <param name="days">清除多少天之前的开奖结果</param> /// <returns></returns> public static int Clear(int days = 30) { DateTime time = DateTime.Now.AddDays(-30).Date; return(OpenResultApp.Delete(time.ToTimestamp())); }