Class: VideoPosterExtractionWorker
Instance Attribute Summary
#broadcast_status_updates
Instance Method Summary
collapse
#at, #store, #total
Instance Method Details
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'app/workers/video_poster_extraction_worker.rb', line 9
def perform(video_id, timestamp_seconds = nil, redirect_to = nil)
video = Video.find(video_id)
timestamp_seconds = 5.0 if timestamp_seconds.nil? || timestamp_seconds < 0
total(100)
at(0, "Starting poster extraction for video #{video.title}")
store redirect_to: redirect_to if redirect_to.present?
at(25, 'Extracting poster using optimized service...')
service = VideoPosterExtractionService.new(video, timestamp_seconds)
service.
at(100, 'Poster extraction completed successfully!')
rescue VideoPosterExtractionService::ExtractionError => e
store error_message: e.message
raise
end
|