Fix error handling in tootctl media remove-orphans (#12571)
				
					
				
			This commit is contained in:
		
							parent
							
								
									f3d232381d
								
							
						
					
					
						commit
						d7bcc0930c
					
				@ -67,7 +67,15 @@ module Mastodon
 | 
				
			|||||||
        last_key           = options[:start_after]
 | 
					        last_key           = options[:start_after]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        loop do
 | 
					        loop do
 | 
				
			||||||
          objects = bucket.objects(start_after: last_key, prefix: 'media_attachments/files/').limit(1000).map { |x| x }
 | 
					          objects = begin
 | 
				
			||||||
 | 
					            begin
 | 
				
			||||||
 | 
					              bucket.objects(start_after: last_key, prefix: 'media_attachments/files/').limit(1000).map { |x| x }
 | 
				
			||||||
 | 
					            rescue => e
 | 
				
			||||||
 | 
					              progress.log(pastel.red("Error fetching list of files: #{e}"))
 | 
				
			||||||
 | 
					              progress.log("If you want to continue from this point, add --start-after=#{last_key} to your command") if last_key
 | 
				
			||||||
 | 
					              break
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					          end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          break if objects.empty?
 | 
					          break if objects.empty?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -82,10 +90,16 @@ module Mastodon
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            next unless attachments_map[attachment_id].nil? || !attachments_map[attachment_id].variant?(filename)
 | 
					            next unless attachments_map[attachment_id].nil? || !attachments_map[attachment_id].variant?(filename)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            reclaimed_bytes += object.size
 | 
					            begin
 | 
				
			||||||
            removed += 1
 | 
					              object.delete unless options[:dry_run]
 | 
				
			||||||
            object.delete unless options[:dry_run]
 | 
					
 | 
				
			||||||
            progress.log("Found and removed orphan: #{object.key}")
 | 
					              reclaimed_bytes += object.size
 | 
				
			||||||
 | 
					              removed += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              progress.log("Found and removed orphan: #{object.key}")
 | 
				
			||||||
 | 
					            rescue => e
 | 
				
			||||||
 | 
					              progress.log(pastel.red("Error processing #{object.key}: #{e}"))
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      when :fog
 | 
					      when :fog
 | 
				
			||||||
@ -108,10 +122,18 @@ module Mastodon
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          next unless attachment.nil? || !attachment.variant?(filename)
 | 
					          next unless attachment.nil? || !attachment.variant?(filename)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          reclaimed_bytes += File.size(path)
 | 
					          begin
 | 
				
			||||||
          removed += 1
 | 
					            size = File.size(path)
 | 
				
			||||||
          File.delete(path) unless options[:dry_run]
 | 
					
 | 
				
			||||||
          progress.log("Found and removed orphan: #{key}")
 | 
					            File.delete(path) unless options[:dry_run]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            reclaimed_bytes += size
 | 
				
			||||||
 | 
					            removed += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            progress.log("Found and removed orphan: #{key}")
 | 
				
			||||||
 | 
					          rescue => e
 | 
				
			||||||
 | 
					            progress.log(pastel.red("Error processing #{key}: #{e}"))
 | 
				
			||||||
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user