CarrierWave Backgrounder进程拒绝访问s3图像

时间:2015-03-18 23:50:08

标签: ruby-on-rails-4 carrierwave sidekiq

我目前的Sidekiq设置如下处理图像,但后台没有进行任何操作。该页面需要10秒钟才能加载,然后新图像将显示在重定向页面上,并显示以下路径。 https://d9vwx0ll7rhpx.cloudfront.net/development/photo/image/product_thumb/product_thumb_0046d4ca-ca8d-4c02-b8cd-da0255c5736e.jpg

我希望这个过程在后台完成。

def create
@photo = Photo.new(photo_params)
if @photo.save
  UploadsWorker.perform_async(@photo.id, photo_params)
  flash[:notice] = "Your new photograph is being processed."
  redirect_to photographer_listings_path(@photog)
else
  flash[:notice] =  "Check the fields marked with an orange flag."
  render 'new'
end

class UploadsWorker
 include Sidekiq::Worker

 def perform(photo_id, photo_params)
  photo = Photo.find(photo_id)
  photo.image = photo_params["image"]
  photo.save
end

我试图使用CarrierWave Backgrounder gem,但发现版本处理没有发生。代码运行但在新记录保存后,我在页面重定向上没有图像。

在查看Sidekiq Web界面时,我可以看到作业正在运行然后完成。

但是我留下了一张拒绝访问的图像(在同一目录中)。

在不使用宝石时看到顶部显示的网址发生的奇怪是有效的。

https://d9vwx0ll7rhpx.cloudfront.net/development/photo/image/product_thumb/product_thumb_a9cf111f-c93a-4ec3-b1be-293321147000.jpg

1 个答案:

答案 0 :(得分:0)

我必须使用store_in_background而不是process_in_background才能将图片正确上传到s3