mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 04:32:02 +00:00 
			
		
		
		
	Ensure clients are recycled properly
This commit is contained in:
		| @@ -63,7 +63,11 @@ threads.times do | ||||
|       ids << id | ||||
|     end | ||||
|  | ||||
|     pool << client | ||||
|  | ||||
|     loop do | ||||
|       client = get_client(pool) | ||||
|  | ||||
|       if ids.empty? | ||||
|         search(random.base64(3), client) do |id| | ||||
|           ids << id | ||||
| @@ -72,10 +76,9 @@ threads.times do | ||||
|  | ||||
|       if rand(300) < 1 | ||||
|         pool << make_client(URL, CONTEXT) | ||||
|         client = get_client(pool) | ||||
|       end | ||||
|  | ||||
|       time = Time.now | ||||
|  | ||||
|       begin | ||||
|         id = ids[0] | ||||
|         video = get_video(id, client, PG_DB) | ||||
| @@ -104,7 +107,7 @@ threads.times do | ||||
|         end | ||||
|       end | ||||
|  | ||||
|       # io << Time.now << " 200 GET www.youtube.com/watch?v=" << video.id << " " << elapsed_text(Time.now - time) << "\n" | ||||
|       pool << client | ||||
|     end | ||||
|   end | ||||
| end | ||||
| @@ -113,7 +116,7 @@ top_videos = [] of Video | ||||
|  | ||||
| spawn do | ||||
|   loop do | ||||
|     top = rank_videos(PG_DB, 120) | ||||
|     top = rank_videos(PG_DB, 40) | ||||
|     client = get_client(pool) | ||||
|  | ||||
|     args = [] of String | ||||
| @@ -121,16 +124,18 @@ spawn do | ||||
|     args << "($#{top.size}) " | ||||
|     args = args.join("") | ||||
|  | ||||
|     videos = [] of Video | ||||
|  | ||||
|     PG_DB.query("SELECT * FROM videos d INNER JOIN (VALUES #{args}) v(id) USING (id)", top) do |rs| | ||||
|       rs.each do | ||||
|         video = rs.read(Video) | ||||
|         top_videos << video | ||||
|         videos << video | ||||
|       end | ||||
|     end | ||||
|  | ||||
|     pool << client | ||||
|     top_videos = videos | ||||
|  | ||||
|     sleep 5.minutes | ||||
|     pool << client | ||||
|   end | ||||
| end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Omar Roth
					Omar Roth