Class: BigbluebuttonRails::BackgroundTasks
- Inherits:
-
Object
- Object
- BigbluebuttonRails::BackgroundTasks
- Defined in:
- lib/bigbluebutton_rails/background_tasks.rb
Overview
Helper methods to execute tasks that run in resque and rake.
Class Method Summary collapse
-
.finish_meetings ⇒ Object
For each meeting that hasn’t ended yet, call ‘getMeetingInfo` and update the meeting attributes or end it.
-
.update_recordings(server_id = nil) ⇒ Object
Updates the recordings for all servers if ‘server_id` is nil or or for the server with id `server_id`.
Class Method Details
.finish_meetings ⇒ Object
For each meeting that hasn’t ended yet, call ‘getMeetingInfo` and update the meeting attributes or end it.
8 9 10 11 12 13 14 15 16 17 18 |
# 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) ⇒ Object
Updates the recordings for all servers if ‘server_id` is nil or or for the server with id `server_id`.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# 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 |