forked from midou/invidious
Update pubsub to use client pool
This commit is contained in:
parent
f776d67c03
commit
833a60f29c
@ -127,6 +127,8 @@ def subscribe_to_feeds(db, logger, key, config)
|
|||||||
end
|
end
|
||||||
max_channel = Channel(Int32).new
|
max_channel = Channel(Int32).new
|
||||||
|
|
||||||
|
client_pool = HTTPPool.new(PUBSUB_URL, capacity: max_threads, timeout: 0.05)
|
||||||
|
|
||||||
spawn do
|
spawn do
|
||||||
max_threads = max_channel.receive
|
max_threads = max_channel.receive
|
||||||
active_threads = 0
|
active_threads = 0
|
||||||
@ -147,12 +149,13 @@ def subscribe_to_feeds(db, logger, key, config)
|
|||||||
|
|
||||||
spawn do
|
spawn do
|
||||||
begin
|
begin
|
||||||
response = subscribe_pubsub(ucid, key, config)
|
response = subscribe_pubsub(ucid, key, config, client_pool)
|
||||||
|
|
||||||
if response.status_code >= 400
|
if response.status_code >= 400
|
||||||
logger.puts("#{ucid} : #{response.body}")
|
logger.puts("#{ucid} : #{response.body}")
|
||||||
end
|
end
|
||||||
rescue ex
|
rescue ex
|
||||||
|
logger.puts("#{ucid} : #{ex.message}")
|
||||||
end
|
end
|
||||||
|
|
||||||
active_channel.send(true)
|
active_channel.send(true)
|
||||||
|
@ -1949,7 +1949,7 @@ def sha256(text)
|
|||||||
return digest.hexdigest
|
return digest.hexdigest
|
||||||
end
|
end
|
||||||
|
|
||||||
def subscribe_pubsub(topic, key, config)
|
def subscribe_pubsub(topic, key, config, client_pool)
|
||||||
case topic
|
case topic
|
||||||
when .match(/^UC[A-Za-z0-9_-]{22}$/)
|
when .match(/^UC[A-Za-z0-9_-]{22}$/)
|
||||||
topic = "channel_id=#{topic}"
|
topic = "channel_id=#{topic}"
|
||||||
@ -1961,7 +1961,6 @@ def subscribe_pubsub(topic, key, config)
|
|||||||
# TODO
|
# TODO
|
||||||
end
|
end
|
||||||
|
|
||||||
client = make_client(PUBSUB_URL)
|
|
||||||
time = Time.utc.to_unix.to_s
|
time = Time.utc.to_unix.to_s
|
||||||
nonce = Random::Secure.hex(4)
|
nonce = Random::Secure.hex(4)
|
||||||
signature = "#{time}:#{nonce}"
|
signature = "#{time}:#{nonce}"
|
||||||
@ -1977,7 +1976,7 @@ def subscribe_pubsub(topic, key, config)
|
|||||||
"hub.secret" => key.to_s,
|
"hub.secret" => key.to_s,
|
||||||
}
|
}
|
||||||
|
|
||||||
return client.post("/subscribe", form: body)
|
return client_pool.client &.post("/subscribe", form: body)
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse_range(range)
|
def parse_range(range)
|
||||||
|
Loading…
Reference in New Issue
Block a user