5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-23 00:36:21 +00:00
panel/app/jobs/activity_pub/fediblock_fetch_job.rb

24 lines
849 B
Ruby
Raw Normal View History

# 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
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