我如何创建Rails表单以批量创建记录,每个记录都包含直接上载到S3的Active Storage附件?

问题描述 投票:0回答:1

我有一个Ruby on Rails应用程序,它允许使用Active Storage通过直接上载创建记录,如下所述:https://edgeguides.rubyonrails.org/active_storage_overview.html#direct-uploads

一切正常。现在,我想有一种方法也可以使用直接上载来设置批处理记录创建,但是似乎找不到最佳方法。

让我说,我有一个名为HomeMovie的模型,具有各种属性和视频附件。我希望能够一个接一个地填写多个HomeMovie表单,单击一次提交,然后为每个表单添加大附件开始上传,并且可以随意离开。在我目前的设置下,这些大型附件一次只能做一次,需要花费很长时间,并且需要不断的保姆。任何帮助是极大的赞赏。

我正在使用Rails 5.2.3

ruby-on-rails rails-activestorage
1个回答
0
投票

如何使用Sidekiq设置某种微服务/职位,使您本质上可以将视频作为单独的职位排队?

基本上,您的逻辑将排队异步作业以处理附件的处理;那么只需要正确设置循环即可。

循环示例

def bulk_insert(videos) #with videos being an array or collection
  videos.each do |vid|
   #do whatever processing and record creation, then
   VideoProcessJob.perform_async(vid["attachment_key"])
  end
end

作业示例

class VideoProcessJob(video_attachment)
  #assumes a service/module for processing the videos
  VideoProcessor.new(video_attachment).process_video_attachment_logic
end
© www.soinside.com 2019 - 2024. All rights reserved.