Elimina i path MediaMTX orfani dopo ogni diretta.

Corregge il cleanup dei path live/match_{uuid}, rimuove sempre il path a fine sessione e lo esegue ogni ora via cron.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-16 20:42:29 +02:00
parent 594853ed04
commit 827abf80cb
8 changed files with 221 additions and 30 deletions

View File

@@ -12,11 +12,8 @@ module Sessions
complete_youtube_broadcast! if @session.youtube_broadcast_id.present?
recording = Recordings::FinalizeSession.new(@session).call
if recording
Recordings::UploadJob.perform_async(@session.id)
else
Mediamtx::Client.new.delete_path(@session)
end
Recordings::UploadJob.perform_async(@session.id) if recording
remove_mediamtx_paths!
log_event("ended")
SessionChannel.broadcast_message(@session, { type: "stream_event", event: "ended" })
@@ -35,6 +32,12 @@ module Sessions
@session.stream_events.create!(event_type: type, occurred_at: Time.current, metadata: {})
end
def remove_mediamtx_paths!
Mediamtx::Client.new.delete_path(@session)
rescue Mediamtx::Client::Error => e
Rails.logger.warn("[Sessions::Stop] delete_path #{@session.id}: #{e.message}")
end
def complete_youtube_broadcast!
Youtube::BroadcastService.new(@session.match.team).complete_broadcast!(@session.youtube_broadcast_id)
rescue Youtube::BroadcastService::Error => e