1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using FCS.Common;
- using FCS.Crawler.ZCLotteryAgainst;
- using FCS.Crawler.ZCLotteryAsianDish;
- using FCS.Crawler.ZCLotteryGames;
- using FCS.Crawler.ZCLotteryGrouping;
- using FCS.Crawler.ZCLotteryIP;
- using FCS.Crawler.ZCLotteryMatchs;
- using FCS.Crawler.ZCLotteryScore;
- using FCS.Crawler.ZCLotterySizeIndex;
- using FCS.Crawler.ZCLotteryTeam;
- using FCS.Interface;
- using FCS.Models;
- using Quartz;
- namespace FCS.Crawler
- {
- public class Update_RealTimeJobBefore : CommonJob, IJob
- {
- public Update_RealTimeJobBefore()
- {
- logName = "Update_RealTimeJobBefore";
- }
- public void Execute(IJobExecutionContext context)
- {
- Config = CommonHelper.GetConfigFromDataMap(context.JobDetail.JobDataMap);
- Click();
- }
- public void Click()
- {
- ThreadPool.SetMaxThreads(200, 200);
- CommonHelper.LogBD("开始Update_RealTimeJobBefore", logName);
- Trace.WriteLine("开始Update_RealTimeJobBefore" + DateTime.Now);
- #region 从第十天之前的数据
- var querylist1 = services.Query<F_Games>(" AND IsObtain=0 ").Where(a => a.StartDateTime < Convert.ToDateTime(DateTime.Now.ToShortDateString())).ToList();
- querylist1 = querylist1.Where((x, i) => querylist1.FindIndex(z => z.Id == x.Id) == i).ToList();//Lambda表达式去重
- int pagelist1 = querylist1.Count % 300 == 0 ? querylist1.Count / 300 : querylist1.Count / 300 + 1;
- for (int i = 0; i < pagelist1; i++)
- {
- //Thread.Sleep(50000);
- var query1 = querylist1.Skip(i * 300).Take(300).ToList();
- // list = query;
- var task1 = new Task(() =>
- {
- new OddsJob().Click(query1, query1);
- });
- var task2 = new Task(() =>
- {
- new AsianDishJob().Click(query1, query1);
- });
- var task3 = new Task(() =>
- {
- new SizeIndexJob().Click(query1, query1);
- });
- task1.Start();
- task2.Start();
- task3.Start();
- Task.WaitAll(task1, task2, task3);
- List<string> listint = new List<string>();
- foreach (var item in query1)
- {
- listint.Add(item.Id);
- }
- if (listint.Count > 0)
- services.Update<F_Games>(" and Id in ('" + string.Join("','", listint) + "')");
- }
- #endregion
- CommonHelper.LogBD("获取完Update_RealTimeJobBefore", logName);
- Trace.WriteLine("获取完Update_RealTimeJobBefore" + DateTime.Now);
- }
- }
- }
|