Update_RealTimeJobToDay10.cs 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading;
  7. using System.Threading.Tasks;
  8. using FCS.Common;
  9. using FCS.Crawler.ZCLotteryAgainst;
  10. using FCS.Crawler.ZCLotteryAsianDish;
  11. using FCS.Crawler.ZCLotteryGames;
  12. using FCS.Crawler.ZCLotteryGrouping;
  13. using FCS.Crawler.ZCLotteryIP;
  14. using FCS.Crawler.ZCLotteryMatchs;
  15. using FCS.Crawler.ZCLotteryScore;
  16. using FCS.Crawler.ZCLotterySizeIndex;
  17. using FCS.Crawler.ZCLotteryTeam;
  18. using FCS.Interface;
  19. using FCS.Models;
  20. using Quartz;
  21. namespace FCS.Crawler
  22. {
  23. public class Update_RealTimeJobToDay10 : CommonJob, IJob
  24. {
  25. public Update_RealTimeJobToDay10()
  26. {
  27. logName = "Update_RealTimeJobToDay10";
  28. }
  29. public void Execute(IJobExecutionContext context)
  30. {
  31. Config = CommonHelper.GetConfigFromDataMap(context.JobDetail.JobDataMap);
  32. Click();
  33. }
  34. public void Click()
  35. {ThreadPool.SetMaxThreads(50, 50);
  36. CommonHelper.LogBD("开始Update_RealTimeJobToDay10", logName);
  37. Trace.WriteLine("开始Update_RealTimeJobToDay10" + DateTime.Now);
  38. #region 从第二天开始到第十天的数据
  39. for (int j = 1; j < 10; j++)
  40. {
  41. CommonHelper.LogBD("开始Update_RealTimeJobToDay10的第一天 ****"+j+"****", logName);
  42. var querylist = services.Query<F_Games>(" and StartDateTime>'" + DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "' and StartDateTime < '" + DateTime.Now.AddDays(10).AddHours(1).ToString("yyyy-MM-dd") + "'").Where(a => a.StartDateTime > Convert.ToDateTime(DateTime.Now.AddDays(j).ToShortDateString()) && a.StartDateTime < Convert.ToDateTime(DateTime.Now.AddDays(j+1).ToShortDateString())).ToList();
  43. querylist = querylist.Where((x, i) => querylist.FindIndex(z => z.Id == x.Id) == i).ToList();//Lambda表达式去重
  44. int pagelist = querylist.Count % 100 == 0 ? querylist.Count / 100 : querylist.Count / 100 + 1;
  45. for (int i = 0; i < pagelist; i++)
  46. {
  47. var query1 = querylist.Skip(i * 100).Take(100).ToList();
  48. //list = query;
  49. var task1 = new Task(() =>
  50. {
  51. new OddsJob().Click(query1);
  52. });
  53. task1.Start();
  54. Task.WaitAll(task1);
  55. var task2 = new Task(() =>
  56. {
  57. new AsianDishJob().Click(query1);
  58. });
  59. task2.Start();
  60. Task.WaitAll(task2);
  61. var task3 = new Task(() =>
  62. {
  63. new SizeIndexJob().Click(query1);
  64. });
  65. task3.Start();
  66. Task.WaitAll(task3);
  67. //Task.WaitAll(task1, task2,task3);
  68. List<string> listint = new List<string>();
  69. foreach (var item in querylist)
  70. {
  71. listint.Add(item.Id);
  72. }
  73. if (listint.Count > 0)
  74. services.Update<F_Games>(" and Id in ('" + string.Join("','", listint) + "')");
  75. }
  76. }
  77. #endregion
  78. CommonHelper.LogBD("获取完Update_RealTimeJobToDay10", logName);
  79. Trace.WriteLine("获取完Update_RealTimeJobToDay10" + DateTime.Now);
  80. }
  81. }
  82. }