more typing
This commit is contained in:
105
Rakefile
105
Rakefile
@@ -111,8 +111,8 @@ task migrate_to_domain: :environment do
|
||||
end
|
||||
|
||||
if only_domains.include?("fa")
|
||||
migrator.migrate_fa_users(only_user: only_user)
|
||||
migrator.migrate_fa_posts(only_user: only_user)
|
||||
# migrator.migrate_fa_users(only_user: only_user)
|
||||
# migrator.migrate_fa_posts(only_user: only_user)
|
||||
migrator.migrate_fa_users_favs(only_user: only_user)
|
||||
migrator.migrate_fa_users_followed_users(only_user: only_user)
|
||||
end
|
||||
@@ -350,3 +350,104 @@ task perform_good_jobs: :environment do
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
task fix_removed_fa_posts: :environment do
|
||||
colorize_state = ->(state) do
|
||||
case state
|
||||
when "ok"
|
||||
"ok".green
|
||||
when "removed"
|
||||
"removed".red
|
||||
else
|
||||
state.to_s
|
||||
end.bold
|
||||
end
|
||||
|
||||
last_fa_id = ENV["start_at"]&.to_i
|
||||
while true
|
||||
query =
|
||||
Domain::Post::FaPost
|
||||
.where(state: "removed")
|
||||
.where.not(title: nil)
|
||||
.order(fa_id: :desc)
|
||||
query = query.where(fa_id: ...last_fa_id) if last_fa_id
|
||||
post = query.first
|
||||
break unless post
|
||||
last_fa_id = post.fa_id
|
||||
|
||||
puts "[before] [post.state: #{colorize_state.call(post.state)}] [post.file.id: #{post.file&.id}] [post.id: #{post.id}] [post.fa_id: #{post.fa_id}] [post.title: #{post.title}]"
|
||||
Domain::Fa::Job::ScanPostJob.perform_now(post: post, force_scan: true)
|
||||
post.reload
|
||||
puts "[after] [post.state: #{colorize_state.call(post.state)}] [post.file.id: #{post.file&.id}] [post.id: #{post.id}] [post.fa_id: #{post.fa_id}] [post.title: #{post.title}]"
|
||||
sleep 2
|
||||
end
|
||||
rescue => e
|
||||
puts "error: #{e.message}"
|
||||
binding.pry
|
||||
end
|
||||
|
||||
task fix_fa_user_avatars: :environment do
|
||||
new_users_missing_avatar =
|
||||
Domain::User::FaUser.where.missing(:avatar).select(:url_name)
|
||||
old_users_with_avatar =
|
||||
Domain::Fa::User
|
||||
.where(url_name: new_users_missing_avatar)
|
||||
.includes(:avatar)
|
||||
.filter(&:avatar)
|
||||
|
||||
old_users_with_avatar.each do |old_user|
|
||||
old_avatar = old_user.avatar
|
||||
new_user = Domain::User::FaUser.find_by(url_name: old_user.url_name)
|
||||
|
||||
if old_avatar.log_entry.nil?
|
||||
puts "enqueue fresh download for #{old_user.url_name}"
|
||||
new_avatar = Domain::UserAvatar.new
|
||||
new_user.avatar = new_avatar
|
||||
new_user.save!
|
||||
Domain::Fa::Job::UserAvatarJob.perform_now(avatar: new_avatar)
|
||||
new_avatar.reload
|
||||
|
||||
binding.pry
|
||||
next
|
||||
end
|
||||
|
||||
new_avatar = Domain::UserAvatar.new
|
||||
new_avatar.log_entry_id = old_avatar.log_entry_id
|
||||
new_avatar.last_log_entry_id = old_avatar.log_entry_id
|
||||
new_avatar.url_str = old_avatar.file_url_str
|
||||
new_avatar.downloaded_at = old_avatar.log_entry&.created_at
|
||||
new_avatar.state =
|
||||
case old_avatar.state
|
||||
when "ok"
|
||||
old_avatar.log_entry_id.present? ? "ok" : "pending"
|
||||
when "file_not_found"
|
||||
new_avatar.error_message = old_avatar.state
|
||||
"file_404"
|
||||
else
|
||||
new_avatar.error_message = old_avatar.state
|
||||
"http_error"
|
||||
end
|
||||
new_user.avatar = new_avatar
|
||||
new_user.save!
|
||||
puts "migrated #{old_user.url_name}"
|
||||
rescue => e
|
||||
puts "error: #{e.message}"
|
||||
binding.pry
|
||||
end
|
||||
end
|
||||
|
||||
task run_fa_user_avatar_jobs: :environment do
|
||||
avatars =
|
||||
Domain::UserAvatar
|
||||
.where(state: "pending")
|
||||
.joins(:user)
|
||||
.where(user: { type: Domain::User::FaUser.name })
|
||||
|
||||
puts "count: #{avatars.count}"
|
||||
|
||||
avatars.each do |avatar|
|
||||
Domain::Fa::Job::UserAvatarJob.perform_now(avatar:)
|
||||
avatar.reload
|
||||
puts "perform avatar job for #{avatar.user.url_name} - #{avatar.state.bold}"
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user