Class: AnimateIt::RenderJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- AnimateIt::RenderJob
- Defined in:
- app/jobs/animate_it/render_job.rb
Instance Method Summary collapse
-
#perform(render_id, composition_id, host, output_path, frames_dir, props = {}, _options = {}) ⇒ Object
_optionsremains as a compatibility slot for render jobs serialized by releases that exposed concurrency settings but never applied them.
Instance Method Details
#perform(render_id, composition_id, host, output_path, frames_dir, props = {}, _options = {}) ⇒ Object
_options remains as a compatibility slot for render jobs serialized by
releases that exposed concurrency settings but never applied them.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/jobs/animate_it/render_job.rb', line 7 def perform(render_id, composition_id, host, output_path, frames_dir, props = {}, = {}) AnimateIt.load_compositions! composition = AnimateIt.registry.fetch(composition_id) RenderStore.start!(render_id) VideoRenderer.new( composition:, host:, output_path:, frames_dir: ).render( props:, cancel_check: -> { RenderStore.cancelled?(render_id) }, on_progress: ->(frame, total_frames) { RenderStore.progress!(render_id, frame:, total_frames:) } ) RenderStore.complete!(render_id) rescue VideoRenderer::CancelledError RenderStore.cancel!(render_id) rescue StandardError => e RenderStore.fail!(render_id, e) raise end |