mirror of
https://github.com/mastodon/mastodon.git
synced 2025-05-07 12:16:14 +00:00
33 lines
805 B
Ruby
33 lines
805 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Fasp::BackfillWorker
|
|
include Sidekiq::Worker
|
|
|
|
sidekiq_options queue: 'fasp', retry: 5
|
|
|
|
def perform(backfill_request_id)
|
|
backfill_request = Fasp::BackfillRequest.find(backfill_request_id)
|
|
|
|
announce(backfill_request)
|
|
|
|
backfill_request.advance!
|
|
rescue ActiveRecord::RecordNotFound
|
|
# ignore missing backfill requests
|
|
end
|
|
|
|
private
|
|
|
|
def announce(backfill_request)
|
|
Fasp::Request.new(backfill_request.fasp_provider).post('/data_sharing/v0/announcements', body: {
|
|
source: {
|
|
backfillRequest: {
|
|
id: backfill_request.id.to_s,
|
|
},
|
|
},
|
|
category: backfill_request.category,
|
|
objectUris: backfill_request.next_uris,
|
|
moreObjectsAvailable: backfill_request.more_objects_available?,
|
|
})
|
|
end
|
|
end
|