Ensure clients are recycled properly
This commit is contained in:
parent
a27c556904
commit
ecb1999795
1 changed files with 12 additions and 7 deletions
|
@ -63,7 +63,11 @@ threads.times do
|
||||||
ids << id
|
ids << id
|
||||||
end
|
end
|
||||||
|
|
||||||
|
pool << client
|
||||||
|
|
||||||
loop do
|
loop do
|
||||||
|
client = get_client(pool)
|
||||||
|
|
||||||
if ids.empty?
|
if ids.empty?
|
||||||
search(random.base64(3), client) do |id|
|
search(random.base64(3), client) do |id|
|
||||||
ids << id
|
ids << id
|
||||||
|
@ -72,10 +76,9 @@ threads.times do
|
||||||
|
|
||||||
if rand(300) < 1
|
if rand(300) < 1
|
||||||
pool << make_client(URL, CONTEXT)
|
pool << make_client(URL, CONTEXT)
|
||||||
|
client = get_client(pool)
|
||||||
end
|
end
|
||||||
|
|
||||||
time = Time.now
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
id = ids[0]
|
id = ids[0]
|
||||||
video = get_video(id, client, PG_DB)
|
video = get_video(id, client, PG_DB)
|
||||||
|
@ -104,7 +107,7 @@ threads.times do
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
end
|
end
|
||||||
|
@ -113,7 +116,7 @@ top_videos = [] of Video
|
||||||
|
|
||||||
spawn do
|
spawn do
|
||||||
loop do
|
loop do
|
||||||
top = rank_videos(PG_DB, 120)
|
top = rank_videos(PG_DB, 40)
|
||||||
client = get_client(pool)
|
client = get_client(pool)
|
||||||
|
|
||||||
args = [] of String
|
args = [] of String
|
||||||
|
@ -121,16 +124,18 @@ spawn do
|
||||||
args << "($#{top.size}) "
|
args << "($#{top.size}) "
|
||||||
args = args.join("")
|
args = args.join("")
|
||||||
|
|
||||||
|
videos = [] of Video
|
||||||
|
|
||||||
PG_DB.query("SELECT * FROM videos d INNER JOIN (VALUES #{args}) v(id) USING (id)", top) do |rs|
|
PG_DB.query("SELECT * FROM videos d INNER JOIN (VALUES #{args}) v(id) USING (id)", top) do |rs|
|
||||||
rs.each do
|
rs.each do
|
||||||
video = rs.read(Video)
|
video = rs.read(Video)
|
||||||
top_videos << video
|
videos << video
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
pool << client
|
top_videos = videos
|
||||||
|
|
||||||
sleep 5.minutes
|
pool << client
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue