現在、Carrierwave + Carrierwave_Backgrounder + Resque をセットアップしようとしています。Carrierwave は、それ自体が魅力のように機能します。画像をアップロードすると、画像が処理され、さまざまなバージョンが作成されます。次に、Carrierwave_Backgrounder + Resque を追加すると、carrierwave はキューにプッシュされるジョブを生成します...すべて問題ありません。ただし、元のファイルのみが保存されます。画像が処理された形跡はありません。誰かが同じ問題を抱えているかどうかを確認するために何時間も試みてきましたが、実際には成功しませんでした. 私はS3などを使用していません。すべてをローカルに保存し、処理をバックグラウンドで実行したいだけです。process_in_background と store_in_background を試しました。元の画像が一時フォルダーに保存されることを除いて、実際の違いはありません。
工程もやってみました!または recreate_versions! コンソールのpost.imageのメソッド...しかし、運もありません。たぶん手がかり?recreate_versions の場合! [:store_versions!] を取得しただけです ... 保存してみました! しかし、何も救われませんでした。
実際の処理を行うジョブを作成する必要がありますか? はいの場合、その方法は何ですか?
これは Carrierwave_Backgrounder から呼び出されているジョブのようです: https://github.com/lardawge/carrierwave_backgrounder/blob/master/lib/backgrounder/workers/process_asset.rb
post.rb
class Post < ActiveRecord::Base
mount_uploader :image, ImageUploader
process_in_background :image
image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
include ::CarrierWave::Backgrounder::Delay
include CarrierWave::RMagick
include CarrierWave::MimeTypes
storage :file
process :resize_to_limit => [555, 2000]
process :set_content_type
version :facebook_share do
process :resize_to_fill => [1200,627]
end
Carrierwave_backgrounder.rb
CarrierWave::Backgrounder.configure do |c|
c.backend :resque, queue: :carrierwave