mirror of
https://github.com/iv-org/invidious.git
synced 2024-11-21 21:17:20 +00:00
Add wait for empty connection pool
This commit is contained in:
parent
dfdeb02c7f
commit
60c618942f
@ -7,7 +7,7 @@ require "time"
|
||||
|
||||
PG_DB = DB.open "postgres://kemal:kemal@localhost:5432/invidious"
|
||||
CONTEXT = OpenSSL::SSL::Context::Client.insecure
|
||||
POOL = [] of HTTP::Client
|
||||
POOL = [] of HTTP::Client
|
||||
10.times do
|
||||
POOL << HTTP::Client.new("www.youtube.com", 443, CONTEXT)
|
||||
end
|
||||
@ -71,6 +71,10 @@ end
|
||||
|
||||
def fetch_video(id)
|
||||
# Grab connection from pool
|
||||
while POOL.empty?
|
||||
sleep rand(0..10).milliseconds
|
||||
end
|
||||
|
||||
client = POOL.pop
|
||||
|
||||
# client = HTTP::Client.new("www.youtube.com", 443, CONTEXT)
|
||||
@ -196,6 +200,10 @@ end
|
||||
get "/search" do |env|
|
||||
query = env.params.query["q"]
|
||||
|
||||
while POOL.empty?
|
||||
sleep rand(0..10).milliseconds
|
||||
end
|
||||
|
||||
client = POOL.pop
|
||||
|
||||
html = client.get("https://www.youtube.com/results?q=#{URI.escape(query)}&page=1").body
|
||||
|
Loading…
Reference in New Issue
Block a user