Estoy recibiendo un error 502 al intentar eliminar temas creados por un usuario específico

Intenté una forma similar, el servidor da un error de tiempo de espera, aquí está el 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 eliminaría la publicación ID #{post.id} (#{post.topic.title} - #{post.excerpt}) (modo de simulación)")
        else
          Rails.logger.error("DeleteUserPosts eliminando la publicación 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("Error al eliminar la publicación ID #{post.id}: #{e.message}")
          end
        end
      end

      # Cancelar el trabajo programado si no quedan más publicaciones
      if posts.size <= posts_per_batch
        self.class.cancel_scheduled_job
      end
    end
  end
end