16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'app/sidekiq/kms_key_rotation/batch_initiator_job.rb', line 16
def perform(max_records_per_job = MAX_RECORDS_PER_JOB, max_records_per_batch = MAX_RECORDS_PER_BATCH)
records_enqueued = 0
models.each do |model|
if records_enqueued >= max_records_per_batch
Rails.logger.info("Maximum enqueued #{records_enqueued} records for key rotation reached. Stopping.")
break
end
Rails.logger.info("Enqueuing #{model} records for key rotation. #{records_enqueued} records enqueued so far")
gids = gids_for_model(model, max_records_per_batch)
gids.each_slice(max_records_per_job) do |slice|
KmsKeyRotation::RotateKeysJob.perform_async(slice)
end
records_enqueued += gids.size
end
end
|