diff --git a/src/helpers.cr b/src/helpers.cr index 31893603..6a707734 100644 --- a/src/helpers.cr +++ b/src/helpers.cr @@ -183,8 +183,8 @@ def get_video(id, client, db, refresh = true) # If record was last updated over an hour ago, refresh (expire param in response lasts for 6 hours) if refresh && Time.now - video.updated > 1.hours - video = fetch_video(id, client) db.exec("DELETE FROM videos * WHERE id = $1", id) + video = fetch_video(id, client) args = arg_array(video.to_a) db.exec("INSERT INTO videos VALUES (#{args})", video.to_a) end diff --git a/src/invidious.cr b/src/invidious.cr index 617915c2..41544f9e 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -145,11 +145,10 @@ spawn do 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) - videos << video - end + top.each do |id| + client = get_client(youtube_pool) + videos << get_video(id, client, PG_DB) + youtube_pool << client end top_videos = videos