greenlight/app/jobs/recording_updates_job.rb

24 lines
577 B
Ruby

class RecordingUpdatesJob < ApplicationJob
include BbbApi
queue_as :default
def perform(room, record_id, published)
tries = 0
sleep_time = 2
while tries < 4
bbb_res = bbb_get_recordings(nil, record_id)
if bbb_res[:recordings].first[:published].to_s == published
ActionCable.server.broadcast "#{room}_recording_updates_channel",
record_id: record_id,
published: bbb_res[:recordings].first[:published]
break
end
sleep sleep_time
sleep_time = sleep_time * 2
tries += 1
end
end
end