Files
redux-scraper/rake/blob_file.rake
2025-07-10 19:24:41 +00:00

32 lines
968 B
Ruby

# typed: false
# frozen_string_literal: true
T.bind(self, T.all(Rake::DSL, Object))
require "find"
namespace :blob_file do
desc "migrate blob entries to blob files"
task migrate_blob_entries: %i[environment] do
batch_size = ENV["batch_size"]&.to_i || 1000
start_at = ENV["start_at"] || Tasks::BlobFileMigrationTask::ZERO_SHA256
Tasks::BlobFileMigrationTask.new.run(batch_size:, start_sha256: start_at)
end
task verify_fs_files: :environment do
dir = Rails.application.config_for("blob_file_location")
num_verified = 0
Find.find(dir) do |path|
next if File.directory?(path)
expected_sha256 = File.basename(path)
actual_sha256 = Digest::SHA256.file(path).hexdigest
if expected_sha256 != actual_sha256
puts "file #{path} has mismatching sha256: #{expected_sha256} != #{actual_sha256}"
end
num_verified += 1
end
puts "(#{Rails.env}, #{dir}) verified #{num_verified} files"
end
end