Rails API, app Flutter, infrastruttura Docker/MediaMTX, sito marketing e documentazione di deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
17 lines
454 B
Ruby
17 lines
454 B
Ruby
class StreamAnalyticsJob
|
|
include Sidekiq::Job
|
|
|
|
def perform(session_id)
|
|
session = StreamSession.find_by(id: session_id)
|
|
return unless session&.ended?
|
|
|
|
duration = session.total_duration_secs
|
|
disconnects = session.disconnection_count
|
|
session.stream_events.create!(
|
|
event_type: "quality_changed",
|
|
metadata: { analytics: true, duration: duration, disconnects: disconnects },
|
|
occurred_at: Time.current
|
|
)
|
|
end
|
|
end
|