1

私はグーグルで検索し、これを行う方法を説明する唯一のサイトを思いついた:http: //railsonedge.blogspot.com/2009/01/flash-video-tutorial-with-rails-ffmpeg.html? m = 0私はすでにペーパークリップを使用していて、すでにすべてをセットアップしていて、このサイトが行っている方法よりもうまく使用するのが好きです。ペーパークリップを使用してビデオの状態を追跡しながら、バックグラウンドでビデオを変換する方法はありますか?私のVideo.rbは現在:

class Video < ActiveRecord::Base
  belongs_to :user
  has_many :comments, dependent: :destroy
  attr_accessible :video, :user_id, :video_file_name, :title, :public, :description, :views

  has_attached_file :video, :styles => { 
    :video => { geometry: "800x480>", format: 'webm' },
    :thumb => { geometry: "200x200>", format: 'png', time: 3 },
  }, processors: [:ffmpeg], url: "/users/:user_id/videos/:id/:basename_:style.:extension"

  #process_in_background :video #causes death

  validates :video, presence: true
  validates :description, presence: true, length: { minimum: 5, maximum: 100}
  validates :title, presence: true, length: { minimum: 1, maximum: 15 }

  validates_attachment_size :video, less_than: 1.gigabytes
  validates_attachment :video, presence: true

  default_scope order: 'created_at DESC'

  Paperclip.interpolates :user_id do |attachment, style|attachment.instance.user_id
  end

  def self.search(search)
    if search
      find(:all, conditions: ["public = 't' AND title LIKE ?", "%#{search}%"], order: "created_at DESC")
    else
      find(:all, conditions: ["public = 't'"], order: "created_at DESC")
    end
  end

  def self.admin_search(search)
    if search
      find(:all, conditions: ['title LIKE ?', "%#{search}%"], order: "created_at DESC")
    else
      find(:all, order: "created_at DESC")
    end
  end

end
4

1 に答える 1

0

まず、この答えを確認してください。バックグラウンドジョブの場合、sidekiqを使用します。変換を処理するメソッドが必要になります。sidekiqの#perform内で呼び出すそのメソッド。このメソッド内では、状態を変更することもできます(文字列フィールドの値を変更するだけです)。

于 2012-10-02T07:54:35.087 に答える