Closed holdenhinkle closed 1 year ago
touch: false
) to avoid touching the timestamps and causing unwanted behaviorencryption_updated_at
as records are re-encryptedLindsey and I met yesterday (11/7/2022) and discussed the ideas outlined in the above linked document.
A couple of main points came out of it:
Sidekiq Batches - https://github.com/mperham/sidekiq/wiki/Batches#overview
Create new sidekiq batch instance
records
to empty arrayrecords
arrayrecords
array is less than 1000next
to query the next model's tablerecords.length
records
, sending each record to KMSKeyRotator.new.perform_async(record)
private
this method is a callback that's called when the current batch is complete
we can log the results of the previous batch
this method also acts as a loop to keep the job running by creating another instance of Batcher
=> call Batcher.new
returns an array of model names that we want to rotate the keys for
~ - - -
Includes Sidekiq::Job
Research and Solutioning is kinda blurred.
I'm planning on opening the Implementation ticket tomorrow and coding this up.
I'll also write a rake task that will kick this off.
ticket details to come...
Issue Description
What details are necessary for understanding the specific work or request tracked by this issue?
Tasks
Acceptance Criteria
[ ] What will be created or happen as a result of this story?
How to configure this issue
product support
,analytics-insights
,operations
,service-design
,Console-Services
,tools-fe
)backend
,frontend
,devops
,design
,research
,product
,ia
,qa
,analytics
,contact center
,research
,accessibility
,content
)bug
,request
,discovery
,documentation
, etc.)