Explicitly close notification connection channel

I don't believe that closing Fiber channels are strictly necessary
but it doesn't hurt to do.
pull/5330/head
syeopite 2025-06-01 12:43:55 -07:00
rodzic ded671ea6d
commit 25168958e8
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: A73C186DA3955A1A
2 zmienionych plików z 8 dodań i 1 usunięć

Wyświetl plik

@ -152,6 +152,7 @@ def create_notification_stream(env, topics, connection_channel)
end
rescue ex
ensure
connection.close
connection_channel.send({false, connection})
end
end

Wyświetl plik

@ -32,7 +32,13 @@ class Invidious::Jobs::NotificationJob < Invidious::Jobs::BaseJob
def begin
connections = [] of ::Channel(PQ::Notification)
PG.connect_listen(pg_url, "notifications") { |event| connections.each(&.send(event)) }
PG.connect_listen(pg_url, "notifications") do |event|
connections.each do |channel|
channel.send(event)
rescue Channel::ClosedError
# Notification stream was closed.
end
end
# hash of channels to their videos (id+published) that need notifying
to_notify = Hash(String, Set(VideoNotification)).new(