catstodon/app/workers/verify_account_links_worker.rb
Eugen Rochko 9014367bd8
Fix background jobs not using locks like they are supposed to (#13361)
Also:

- Fix locks not being removed when jobs go to the dead job queue
- Add UI for managing locks to the Sidekiq dashboard
- Remove unused Sidekiq workers

Fix #13349
2020-03-31 21:59:03 +02:00

20 lines
460 B
Ruby

# frozen_string_literal: true
class VerifyAccountLinksWorker
include Sidekiq::Worker
sidekiq_options queue: 'pull', retry: false, lock: :until_executed
def perform(account_id)
account = Account.find(account_id)
account.fields.each do |field|
next unless !field.verified? && field.verifiable?
VerifyLinkService.new.call(field)
end
account.save! if account.changed?
rescue ActiveRecord::RecordNotFound
true
end
end