【发布时间】:2015-04-04 16:36:36
【问题描述】:
我正在使用 Sidekiq 与 CarrierWave 和 CarrierWaveBackgrounder 在后台将我的图像上传到 S3。这工作正常,除了一件事:在我提交表单后,图像在 Sidekiq 中排队并处理,但页面重新加载的速度比后台作业快,导致上传的图像出现 404。再次刷新页面后,通常会显示图像。
我想知道是否有一种方法可以显示 tmp 文件(我的数据库中有一个 image_tmp 列,它似乎在处理/上传文件时存储了文件的路径),或者在处理后重新加载我的图像完成。
我可以轮询我的数据库以将“image_processing”更改为 true,但这似乎有点浪费请求。
我的用户类的相关部分:
mount_uploader :profile_image, ProfileImageUploader
process_in_background :profile_image
store_in_background :profile_image
ProfileImageUploader 包括后台程序
class ProfileImageUploader < CarrierWave::Uploader::Base
include ::CarrierWave::Backgrounder::Delay
include CarrierWave::MiniMagick
我的数据库有profile_image_processing 和profile_image_tmp 的字段,当然还有profile_image 列。
【问题讨论】:
标签: ruby-on-rails amazon-s3 carrierwave sidekiq