private static void UpdateRefreshUi(int jobId = 0) { Random ran = new Random(); int count = 1; Parallel.ForEach(models, new ParallelOptions { MaxDegreeOfParallelism = 10 }, rm => { RemoteScanMag entity = new RemoteScanMag(); entity.JobId = jobId; Console.Write("处理 --> " + rm.Name + " " + count++ + "/" + models.Count); var matchFiles = new EverythingHelper().SearchFile("!c:\\ " + rm.Id + " | " + rm.Id.Replace("-", ""), EverythingSearchEnum.Video); var list = MagService.SearchSukebei(id: rm.Id, web: "pro"); //list.AddRange(MagService.SearchSukebei(id: rm.Id, web: "pro")); if (list != null && list.Count > 0) { if (matchFiles.Count > 0) { var biggestFile = matchFiles.FirstOrDefault(x => x.Length == matchFiles.Max(y => y.Length)); entity.SearchStatus = 2; entity.MatchFile = biggestFile.FullName; } else { entity.SearchStatus = 1; } foreach (var seed in list) { entity.AvId = rm.Id; entity.AvName = FileUtility.ReplaceInvalidChar(rm.Name); entity.AvUrl = rm.Url; entity.MagDate = seed.Date; entity.MagSize = seed.Size; entity.MagTitle = FileUtility.ReplaceInvalidChar(seed.Title); entity.MagUrl = seed.MagUrl; //entity.SearchStatus = 1; //if (entity.MagSize <= 0) //{ // Console.WriteLine("找种子"); // var ret = MagService.GetTorrentInfo(entity.MagUrl, "http://itorrents.org/torrent/", "G:\\torrent", entity.MagTitle + ".torrent").Result; // if (ret != null) // { // entity.MagSize = ret.Files.Max(x => x.Length); // } //} try { if (entity.MagTitle.Contains(rm.Id) || entity.MagTitle.Contains(rm.Id.Replace("-", ""))) { ScanDataBaseManager.InsertRemoteScanMag(entity); } } catch (Exception ee) { entity.MatchFile = ""; entity.SearchStatus = 1; ScanDataBaseManager.InsertRemoteScanMag(entity); } } } else { Console.WriteLine(" 没搜到"); entity.SearchStatus = 0; } }); }
private static void UpdateRefreshUi(int jobId = 0) { Random ran = new Random(); Parallel.ForEach(models, new ParallelOptions { MaxDegreeOfParallelism = 5 }, rm => { RemoteScanMag entity = new RemoteScanMag(); entity.JobId = jobId; Console.WriteLine("处理 --> " + rm.Name + models.IndexOf(rm) + "/" + models.Count); var matchFiles = new EverythingHelper().SearchFile(rm.Id + " | " + rm.Id.Replace("-", ""), EverythingSearchEnum.Video); var list = MagService.SearchSukebei(rm.Id); if (list != null && list.Count > 0) { ScanDataBaseManager.DeleteMagUrlById(rm.Id); if (matchFiles.Count > 0) { entity.SearchStatus = 2; entity.MatchFile = matchFiles.FirstOrDefault(x => x.Length == matchFiles.Max(y => y.Length)).FullName; } else { entity.SearchStatus = 1; } foreach (var seed in list) { entity.AvId = rm.Id; entity.AvName = FileUtility.ReplaceInvalidChar(rm.Name); entity.AvUrl = rm.Url; entity.MagDate = seed.Date; entity.MagSize = seed.Size; entity.MagTitle = FileUtility.ReplaceInvalidChar(seed.Title); entity.MagUrl = seed.MagUrl; //entity.SearchStatus = 1; ScanDataBaseManager.InsertRemoteScanMag(entity); } } else { Console.WriteLine("没搜到"); entity.SearchStatus = 0; } Thread.Sleep(10 * ran.Next(5)); }); }