1

我目前正在尝试设置 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
4

1 回答 1

2

哈哈哈,天哪,我觉得自己好傻……

我意识到我有一段时间没有使用 Resque。我完全忘记了在队列中启动我的工作人员。所有的处理工作都排着队等待处理。

该死!

于 2013-11-09T01:12:18.250 回答