cancel tasks in loop
This commit is contained in:
		@@ -160,9 +160,6 @@ class UpstreamHandler():
 | 
				
			|||||||
                    futures.append(task)
 | 
					                    futures.append(task)
 | 
				
			||||||
                done = False
 | 
					                done = False
 | 
				
			||||||
                for future in asyncio.as_completed(futures):
 | 
					                for future in asyncio.as_completed(futures):
 | 
				
			||||||
                    if done:
 | 
					 | 
				
			||||||
                        future.cancel()
 | 
					 | 
				
			||||||
                    else:
 | 
					 | 
				
			||||||
                    try:
 | 
					                    try:
 | 
				
			||||||
                        result = await future
 | 
					                        result = await future
 | 
				
			||||||
                        resp = result.resp
 | 
					                        resp = result.resp
 | 
				
			||||||
@@ -179,6 +176,11 @@ class UpstreamHandler():
 | 
				
			|||||||
                            self.upstream_safe = urllib.parse.quote(new_url)
 | 
					                            self.upstream_safe = urllib.parse.quote(new_url)
 | 
				
			||||||
                        self.proxy = result.current_proxy
 | 
					                        self.proxy = result.current_proxy
 | 
				
			||||||
                        proxies[self.provider] = result.current_proxies
 | 
					                        proxies[self.provider] = result.current_proxies
 | 
				
			||||||
 | 
					                        break
 | 
				
			||||||
 | 
					                for future in futures:
 | 
				
			||||||
 | 
					                    if not future.done():
 | 
				
			||||||
 | 
					                        future.cancel()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async def meta(self):
 | 
					    async def meta(self):
 | 
				
			||||||
        data = []
 | 
					        data = []
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user