Files
old-holivud2/app/jobs/analyze_video_job.rb
2020-05-31 22:38:19 +02:00

28 lines
726 B
Ruby

class AnalyzeVideoJob < ApplicationJob
queue_as :default
before_perform do |job|
video = job.arguments.first
ProjectsChannel.broadcast_video_analysis_update(video)
end
def perform(video, reanalysis: false)
response = BrayniacAI::FacialRecognition.create! VideoAnalysis.new(video, reanalysis)
video.update!({
analysis_uid: response.job_id,
analysis_started_at: Time.zone.now,
analysis_status: :pending,
})
rescue StandardError => e
video.analysis_failure!
Rails.logger.error("Failed to analyze video(##{video.id})\n" + e.message)
end
after_perform do |job|
video = job.arguments.first
ProjectsChannel.broadcast_video_analysis_update(video)
end
end