class BigbluebuttonRails::BackgroundTasks
Helper methods to execute tasks that run in resque and rake.
Public Class Methods
finish_meetings()
click to toggle source
For each meeting that hasn't ended yet, call `getMeetingInfo` and update the meeting attributes or end it.
# File lib/bigbluebutton_rails/background_tasks.rb, line 8 def self.finish_meetings BigbluebuttonMeeting.where(ended: false).find_each do |meeting| Rails.logger.info "BackgroundTasks: Checking if the meeting has ended: #{meeting.inspect}" room = meeting.room if room.present? #and !meeting.room.fetch_is_running? # `fetch_meeting_info` will automatically update the meeting by # calling `room.update_current_meeting_record` room.fetch_meeting_info end end end
update_recordings(server_id=nil)
click to toggle source
Updates the recordings for all servers if `server_id` is nil or or for the server with id `server_id`.
# File lib/bigbluebutton_rails/background_tasks.rb, line 22 def self.update_recordings(server_id=nil) BigbluebuttonServer.find_each do |server| begin if server_id.nil? || server_id == server.id server.fetch_recordings(nil, true) Rails.logger.info "BackgroundTasks: List of recordings from #{server.url} updated successfully" end rescue Exception => e Rails.logger.info "BackgroundTasks: Failure fetching recordings from #{server.inspect}" Rails.logger.info "BackgroundTasks: #{e.inspect}" Rails.logger.info "BackgroundTasks: #{e.backtrace.join("\n")}" end end end