cache complete result
This commit is contained in:
		| @@ -193,6 +193,10 @@ async def get_meta(upstream, proxy, logger): | ||||
|     return await get_from_runner((2, upstream), MetaRunner(upstream, proxy, logger), logger) | ||||
|  | ||||
| async def get_any(upstream, proxy, logger): | ||||
|     cache_key = (3, upstream) | ||||
|     cached = upstream_cache.get(cache_key) | ||||
|     if isinstance(cached, StreamData): | ||||
|         return cached | ||||
|     tasks = [] | ||||
|     tasks.append(asyncio.create_task(get_streamlink(upstream, proxy, logger))) | ||||
|     tasks.append(asyncio.create_task(get_ytdl(upstream, proxy, logger))) | ||||
| @@ -206,6 +210,7 @@ async def get_any(upstream, proxy, logger): | ||||
|             result.update("title", temp_result.title(), temp_result.override) | ||||
|             result.update("description", temp_result.description(), temp_result.override) | ||||
|             if result.complete(): | ||||
|                 upstream_cache[cache_key] = result | ||||
|                 break | ||||
|     for task in tasks: | ||||
|         if not task.done(): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user