我目前正在尝试设置 Carrierwave + Carrierwave_Backgrounder + Resque。Carrierwave 对自己的作品就像一个魅力。您可以上传图像并对其进行处理并创建不同的版本。然后我添加了 Carrierwave_Backgrounder + Resque,carrierwave 生成的作业被推入队列......一切都很好。但只保存原始文件。没有任何图像被处理的迹象。我已经尝试了好几个小时,看看是否有人有同样的问题,但我并没有真正成功。我没有使用 S3 或类似的东西。我只想在本地存储所有内容并让处理在后台运行。我尝试了 process_in_background 和 store_in_background。除了原始图像保存在临时文件夹中之外,没有真正的区别。
我也试过这个过程!或重新创建版本!控制台中 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