Estou recebendo erro 502 ao tentar excluir tópicos criados por um usuário específico

Tentei uma forma semelhante, o servidor retorna um erro de tempo limite. Abaixo está o código

# frozen_string_literal: true

module Jobs
  class DeleteUserPosts < ::Jobs::Scheduled
    every 2.minutes

    def execute(args)
      return unless SiteSetting.delete_user_topics_enabled?

      username = SiteSetting.delete_posts_for_username
      posts_per_batch = SiteSetting.delete_posts_in_single_batch.to_i

      return unless username.present? && posts_per_batch.positive?

      user = User.find_by(username: username)
      return unless user.present?

      posts = user.posts.order(created_at: :asc)

      deleted_count = 0
      posts.each do |post|
        break if deleted_count >= posts_per_batch

        if SiteSetting.delete_user_topics_dry_run?
          Rails.logger.error("DeleteUserPosts removeria a Postagem ID #{post.id} (#{post.topic.title} - #{post.excerpt}) (modo de simulação)")
        else
          Rails.logger.error("DeleteUserPosts removendo a Postagem ID #{post.id} (#{post.topic.title} - #{post.excerpt})")
          begin
            PostDestroyer.new(Discourse.system_user, post).destroy
            deleted_count += 1
          rescue StandardError => e
            Rails.logger.error("Erro ao excluir a postagem ID #{post.id}: #{e.message}")
          end
        end
      end

      # Cancela o job agendado se não houver mais postagens restantes
      if posts.size <= posts_per_batch
        self.class.cancel_scheduled_job
      end
    end
  end
end