diff --git a/lib/tasks/server_recordings_sync.rake b/lib/tasks/server_recordings_sync.rake index c8621a3f3d5f5905b4f459bee6a0e42af416756f..c74260742d5aad4ce014b5dde5f1ab39dba084f0 100644 --- a/lib/tasks/server_recordings_sync.rake +++ b/lib/tasks/server_recordings_sync.rake @@ -25,7 +25,15 @@ task :server_recordings_sync, %i[provider] => :environment do |_task, args| meeting_ids = rooms.pluck(:meeting_id) recordings = BigBlueButtonApi.new(provider: args[:provider]).get_recordings(meeting_ids:) + + # Skip the entire batch if the first and last recordings exist + if Recording.exists?(record_id: recordings[:recordings][0][:recordID]) && Recording.exists?(record_id: recordings[:recordings][-1][:recordID]) + next + end + recordings[:recordings].each do |recording| + next if Recording.exists?(record_id: recording[:recordID]) + RecordingCreator.new(recording:).call success 'Successfully migrated Recording:' info "RecordID: #{recording[:recordID]}"