Top Level Namespace

Defined Under Namespace

Modules: FlatironVideoUploader Classes: File

Constant Summary collapse

PART_SIZE =
1024*1024*50

Instance Method Summary collapse

Instance Method Details

#mark_as_complete(s3, input_opts, lock_hash) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/flatiron-video-uploader/runner.rb', line 11

def mark_as_complete(s3,input_opts,lock_hash)
  input_opts = input_opts.merge({
    :upload_id   => lock_hash["upload_id"]
  })   

  parts_resp = s3.list_parts(input_opts)

  input_opts = input_opts.merge(
    :multipart_upload => {
      :parts =>
      parts_resp.parts.map do |part|
        { :part_number => part.part_number,
          :etag        => part.etag }
      end 
    }   
  )   

  begin
    tries ||=3
    mpu_complete_response = s3.complete_multipart_upload(input_opts)
    return mpu_complete_response
  rescue Exception => e
    retry unless (tries-=1).zero?
  end
end