Use progress total tracker in accounts CLI (#38296)

This commit is contained in:
Matt Jankowski 2026-03-23 04:14:38 -04:00 committed by GitHub
parent e13d57a69e
commit bd16e3f63e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,7 +17,6 @@ module Mastodon::CLI
LONG_DESC LONG_DESC
def rotate(username = nil) def rotate(username = nil)
if options[:all] if options[:all]
processed = 0
delay = 0 delay = 0
scope = Account.local.without_suspended scope = Account.local.without_suspended
progress = create_progress_bar(scope.count) progress = create_progress_bar(scope.count)
@ -26,14 +25,13 @@ module Mastodon::CLI
accounts.each do |account| accounts.each do |account|
rotate_keys_for_account(account, delay) rotate_keys_for_account(account, delay)
progress.increment progress.increment
processed += 1
end end
delay += 5.minutes delay += 5.minutes
end end
progress.finish progress.finish
say("OK, rotated keys for #{processed} accounts", :green) say("OK, rotated keys for #{progress.progress} accounts", :green)
elsif username.present? elsif username.present?
rotate_keys_for_account(Account.find_local(username)) rotate_keys_for_account(Account.find_local(username))
say('OK', :green) say('OK', :green)
@ -442,7 +440,6 @@ module Mastodon::CLI
total += account.following.reorder(nil).count if options[:follows] total += account.following.reorder(nil).count if options[:follows]
total += account.followers.reorder(nil).count if options[:followers] total += account.followers.reorder(nil).count if options[:followers]
progress = create_progress_bar(total) progress = create_progress_bar(total)
processed = 0
if options[:follows] if options[:follows]
account.following.reorder(nil).find_each do |target_account| account.following.reorder(nil).find_each do |target_account|
@ -451,7 +448,6 @@ module Mastodon::CLI
progress.log pastel.red("Error processing #{target_account.id}: #{e}") progress.log pastel.red("Error processing #{target_account.id}: #{e}")
ensure ensure
progress.increment progress.increment
processed += 1
end end
BootstrapTimelineWorker.perform_async(account.id) BootstrapTimelineWorker.perform_async(account.id)
@ -464,12 +460,11 @@ module Mastodon::CLI
progress.log pastel.red("Error processing #{target_account.id}: #{e}") progress.log pastel.red("Error processing #{target_account.id}: #{e}")
ensure ensure
progress.increment progress.increment
processed += 1
end end
end end
progress.finish progress.finish
say("Processed #{processed} relationships", :green, true) say("Processed #{progress.progress} relationships", :green, true)
end end
option :number, type: :numeric, aliases: [:n] option :number, type: :numeric, aliases: [:n]