@ -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)
args = arg_array(video.to_a)
db.exec("INSERT INTO videos VALUES (#{args})", video.to_a)
end
@ -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
top.each do |id|
client = get_client(youtube_pool)
videos << get_video(id, client, PG_DB)
youtube_pool << client
top_videos = videos