private async Task UpdateProjectReverseAsync(CancellationManager cmSelf) { try { while (true) { if (cmSelf.Token.IsCancellationRequested) { cmSelf.Token.ThrowIfCancellationRequested(); } var proxy = new MonitorRepository(); try { await proxy.UpdateProjectReverseAsync(); } catch (Exception ex) { LogManager.Instance.Error($"{ex.Message}"); } LastUpdate = DateTime.Now; await Task.Delay(FREQ_UPDATE); } } catch (Exception) { //do nothing } finally { cmSelf.Dispose(); } }
private async Task <bool> LoginBulkAsync(CancellationManager manager) { try { var ctrls = new List <UcSettingAccountItem>(); foreach (Control ctrl in flowAccount.Controls) { var ctrlAccount = ctrl as UcSettingAccountItem; if (ctrlAccount != null) { if (!ctrlAccount.IsEnabled) { ctrls.Add(ctrlAccount); } } } var delayMax = chkLoginProtect.Checked ? 30 : 0; var delayMin = chkLoginProtect.Checked ? 5 : 0; var rd = new Random(DateTime.Now.Second); ctrls = ctrls.OrderBy(c => rd.Next()).ToList(); for (var i = 0; i < ctrls.Count; i++) { if (!manager.Token.IsCancellationRequested) { var ctrlAccount = ctrls[i]; await ctrlAccount.TryLogin(); if (i == ctrls.Count - 1) { break; } await Task.Delay(rd.Next(delayMin, delayMax) * 1000); } else { manager.Token.ThrowIfCancellationRequested(); } } } catch (Exception) { //do nothing } finally { manager.Dispose(); } return(true); }
private async Task RefreshAsync(CancellationManager cmSelf) { try { while (true) { if (cmSelf.Token.IsCancellationRequested) { cmSelf.Token.ThrowIfCancellationRequested(); } BindMessage(); await Task.Delay(FREQ_REFRESH); } } catch (Exception) { //do nothing } finally { cmSelf.Dispose(); } }
private void PerformSearching(CancellationManager manager) { Task.Factory.StartNew(() => { var settingInfo = BusinessCache.Settings; var rd = new Random(); var proxySearch = new ProxySearch(); try { while (!manager.Token.IsCancellationRequested) { var delay = (rd.Next(0, settingInfo.DelayTransfer)); var searchProxy = BusinessCache.UserProxies.GetRandomProxy(settingInfo.PageDiff); if (searchProxy != null) { try { var list = new List <ClientPortionTransferItem>(); for (var i = 0; i < settingInfo.SearchingKeywords.Count; i++) { var searchingKey = settingInfo.SearchingKeywords[i]; for (var j = settingInfo.PageFrom; j <= settingInfo.PageTo; j++) { var subList = proxySearch.SearchAsync(searchProxy.TokenOffical, ProxySearch.Parameter.Create(searchingKey, j)).Result; if (subList != null && subList.Count > 0) { list.AddRange(subList.rowSet); } if (j < settingInfo.PageTo) { Task.Delay(1000); } } if (i < settingInfo.SearchingKeywords.Count - 1) { Task.Delay(1000); } } BusinessCache.PoolTranser.Clear(); BusinessCache.PoolTranser.AddRange(list); BusinessCache.PoolTranser.UpdateFromPayment(BusinessCache.ProjectPayments); } catch (Exception ex) { LogManager.Instance.Error($"{ex.Message}"); } var msg = $"{BusinessCache.PoolTranser.TopItem.GetProjectInformation()} {searchProxy.UserName} {settingInfo.FreqTransfer}s+{delay}s"; LogManager.Instance.Message(msg); } else { throw new Exception("no proxy found"); } Task.Delay((settingInfo.FreqTransfer + delay) * 1000).Wait(manager.Token); } ; manager.Token.ThrowIfCancellationRequested(); } catch (Exception ex) { LogManager.Instance.Error($"{ex.Message}"); } finally { manager.Dispose(); } }, manager.Token); }