Rails - Carrier Wave Backgrounder图像上传仍然在前台处理

时间:2013-09-19 20:20:34

标签: ruby-on-rails ruby carrierwave delayed-job worker

使用载波和Carrier Wave Backgrounder我设法延迟了图像处理(通过延迟作业),等等。在图像上传时,作业排队,但遗憾的是它也会在上载时同步处理。执行相同工作的预定作业然后再次处理图像版本。

显然,我希望它在上传时立即处理,并且处理来自该工作者的版本。

我的Rails 3模型的相关位在这里:

class Product < ActiveRecord::Base
  include ::CarrierWave::Backgrounder::Delay
  mount_uploader :image, ProductUploader
  process_in_background :image
end

如何立即强制图像处理?

1 个答案:

答案 0 :(得分:1)

变化:

process_in_background :image

使用:

store_in_background :image

单挑:store_in_background需要一个临时写入的列,在您的情况下 image_tmp (字符串)在您的产品表中。

从CarrierWave_Backgrounder的自述文件中查看Use store_in_background部分。

This answer也可能有所帮助。