static int SingleBehance() { BehanceWrapper viewer = new BehanceWrapper(); while (queue.Count > 0) { ProxyDTO proxy = proxy_wrapper.dequeProxy(); if (proxy == null) { Console.WriteLine("Proxy not found. Aborting..."); return(-1); } Console.WriteLine("proxy found - {0}", proxy); var to_delete = new List <int>(); var tasks = new List <Task>(); for (int i = 0; i < queue.Count; i++) { var result = viewer.TaskFunction(queue[i], proxy); if (result == -1) { proxy = proxy_wrapper.dequeProxy(); if (proxy == null) { Console.WriteLine("proxy not found, aborting"); return(-1); } Console.WriteLine("proxy found - {0}", proxy); } else { var to_delete_flag = queue.UpdateItem(i); to_delete.Add(i); } } to_delete.Reverse(); foreach (var item in to_delete) { queue.RemoveAt(item); } to_delete.Clear(); current_period += 1; if (refresh_period >= current_period || queue.Count == 0) { Console.WriteLine("Refershing queue"); var status = RefreshQueue(); if (status != 1) { return(-1); } current_period = 0; } } viewer.Close(); return(1); }