mirror of
https://github.com/iv-org/invidious.git
synced 2024-11-12 19:28:24 +00:00
Pull rank_videos into seperate thread
This commit is contained in:
parent
a017f4cc30
commit
5159ec0f6e
@ -109,26 +109,36 @@ threads.times do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
top_videos = [] of Video
|
||||||
|
|
||||||
|
spawn do
|
||||||
|
loop do
|
||||||
|
top = rank_videos(PG_DB, 120)
|
||||||
|
client = get_client(pool)
|
||||||
|
|
||||||
|
args = [] of String
|
||||||
|
1..(top.size - 1).times { |i| args << "($#{i + 1}), " }
|
||||||
|
args << "($#{top.size}) "
|
||||||
|
args = args.join("")
|
||||||
|
|
||||||
|
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
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
pool << client
|
||||||
|
|
||||||
|
sleep 5.minutes
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
macro templated(filename)
|
macro templated(filename)
|
||||||
render "src/views/#{{{filename}}}.ecr", "src/views/layout.ecr"
|
render "src/views/#{{{filename}}}.ecr", "src/views/layout.ecr"
|
||||||
end
|
end
|
||||||
|
|
||||||
get "/" do |env|
|
get "/" do |env|
|
||||||
top = rank_videos(PG_DB, 120)
|
|
||||||
|
|
||||||
args = [] of String
|
|
||||||
1..(top.size - 1).times { |i| args << "($#{i + 1}), " }
|
|
||||||
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)
|
|
||||||
videos << video
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
templated "index"
|
templated "index"
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -259,7 +269,7 @@ get "/:path" do |env|
|
|||||||
end
|
end
|
||||||
|
|
||||||
error 500 do |env|
|
error 500 do |env|
|
||||||
"Error 500"
|
templated "index"
|
||||||
end
|
end
|
||||||
|
|
||||||
public_folder "assets"
|
public_folder "assets"
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<title>Invidious</title>
|
<title>Invidious</title>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% videos.each_slice(4) do |slice| %>
|
<% top_videos.each_slice(4) do |slice| %>
|
||||||
<div class="pure-g">
|
<div class="pure-g">
|
||||||
<% slice.each do |video| %>
|
<% slice.each do |video| %>
|
||||||
<% player_response = JSON.parse(video.info["player_response"]) %>
|
<% player_response = JSON.parse(video.info["player_response"]) %>
|
||||||
|
Loading…
Reference in New Issue
Block a user