我正在使用Sidekiq、CarrierWave和CarrierWaveBackgrounder将我的图片上传到S3,这在后台工作方面效果很好。但是有一个问题:当我提交表单后,图片被排队到Sidekiq并进行处理,但页面重新加载的速度比后台作业快,导致上传的图片出现404错误。在另一次页面刷新后,图片通常会显示出来。
我想知道是否有办法显示临时文件(我在数据库中有一个image_tmp列,似乎存储了文件的路径,而文件正在处理/上传),或在处理完成后重新加载我的图片。
我可以轮询我的数据库以将“image_processing”更改为true,但这似乎有点浪费请求。
用户类的相关部分:
我的数据库有
我想知道是否有办法显示临时文件(我在数据库中有一个image_tmp列,似乎存储了文件的路径,而文件正在处理/上传),或在处理完成后重新加载我的图片。
我可以轮询我的数据库以将“image_processing”更改为true,但这似乎有点浪费请求。
用户类的相关部分:
mount_uploader :profile_image, ProfileImageUploader
process_in_background :profile_image
store_in_background :profile_image
ProfileImageUploader包含Backgrounder
。class ProfileImageUploader < CarrierWave::Uploader::Base
include ::CarrierWave::Backgrounder::Delay
include CarrierWave::MiniMagick
我的数据库有
profile_image_processing
和 profile_image_tmp
字段,当然还有一个 profile_image
列。