# frozen_string_literal: true class ActivityPub # Se encarga de mantener las listas de bloqueo actualizadas. Luego de # actualizar el listado de instancias, bloquea las instancias en cada # sitio que tenga el fediblock habilitado. class FediblockFetchJob < ApplicationJob self.priority = 50 def perform ActivityPub::Fediblock.find_each do |fediblock| fediblock.process! instances_added = fediblock.instances - fediblock.instances_was # No hacer nada si no cambiĆ³ con respecto a la versiĆ³n anterior next if instances_added.empty? ActivityPub::FediblockUpdatedJob.perform_later(fediblock: fediblock, hostnames: instances_added) rescue ActivityPub::Fediblock::FediblockDownloadError => e ExceptionNotifier.notify_exception(e, data: { fediblock: fediblock.title }) end end end end