FurArchiver fallback for FA posts missing media
This commit is contained in:
35
rake/fa.rake
35
rake/fa.rake
@@ -302,4 +302,39 @@ namespace :fa do
|
||||
task enqueue_pending_user_pages: :environment do
|
||||
Domain::Fa::EnqueueDueUserPageScans.new.run
|
||||
end
|
||||
|
||||
desc "Get 404 files from FurArchiver"
|
||||
task get_404_files_from_fur_archiver: :set_logger_stdout do
|
||||
query =
|
||||
Domain::PostFile
|
||||
.joins(:post)
|
||||
.for_post_type(Domain::Post::FaPost)
|
||||
.where(state: "terminal_error", last_status_code: 404)
|
||||
.where(
|
||||
"((\"post\".\"json_attributes\"->>'tried_from_fur_archiver')::bool) IS NULL OR ((\"post\".\"json_attributes\"->>'tried_from_fur_archiver')::bool) != TRUE",
|
||||
)
|
||||
|
||||
# query =
|
||||
# Domain::User
|
||||
# .find_by_param("fa@wolfsparta")
|
||||
# .posts
|
||||
# .flat_map do |post|
|
||||
# post.files.where(state: "terminal_error", last_status_code: 404)
|
||||
# end
|
||||
|
||||
puts "counting..."
|
||||
total = query.count
|
||||
puts "total: #{total}"
|
||||
pb = ProgressBar.create(total: total, format: "%t: %c/%C %B %p%% %a %e")
|
||||
|
||||
counter = 0
|
||||
query.find_each do |post_file|
|
||||
next if post_file.url_str.include?("/stories/")
|
||||
Job::FaPostFurArchiverPostFileJob.perform_now({ post_file: })
|
||||
pb.progress = [pb.progress + 1, total].min
|
||||
post = post_file.post
|
||||
puts "processed #{post.to_param} / #{post.title_for_view}".bold
|
||||
counter += 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user