tech(expires-user.cron): ajoute une tache cron [débrayable] pour faire tourner la tache de suppression des usagers inutile
attention, pour notre instance, avec ma db anonymiser : ``` ExpiredUsersDeletionService.find_expired_user.pluck(:id).size => 1795515 ```
This commit is contained in:
parent
a49a5c2c93
commit
252b3e4719
3 changed files with 31 additions and 1 deletions
8
app/jobs/cron/expired_users_deletion_job.rb
Normal file
8
app/jobs/cron/expired_users_deletion_job.rb
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
class Cron::ExpiredUsersDeletionJob < Cron::CronJob
|
||||||
|
self.schedule_expression = "every day at 11 pm"
|
||||||
|
|
||||||
|
def perform(*args)
|
||||||
|
return if ENV['EXPIRE_USER_DELETION_JOB_DISABLED'].present?
|
||||||
|
ExpiredUsersDeletionService.process_expired
|
||||||
|
end
|
||||||
|
end
|
|
@ -253,3 +253,6 @@ BULK_EMAIL_QUEUE="low_priority"
|
||||||
|
|
||||||
# work in progress about attestation_v2
|
# work in progress about attestation_v2
|
||||||
WEASYPRINT_URL="http://10.33.23.204:5000/pdf"
|
WEASYPRINT_URL="http://10.33.23.204:5000/pdf"
|
||||||
|
|
||||||
|
# Use this env var to disable the user expiration mechanism
|
||||||
|
EXPIRE_USER_DELETION_JOB_DISABLED=anything
|
||||||
|
|
19
spec/jobs/cron/expired_users_deletion_job_spec.rb
Normal file
19
spec/jobs/cron/expired_users_deletion_job_spec.rb
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
describe Cron::ExpiredUsersDeletionJob do
|
||||||
|
subject { described_class.perform_now }
|
||||||
|
|
||||||
|
context 'when env[EXPIRE_USER_DELETION_JOB_DISABLED] is present' do
|
||||||
|
before { expect(ENV).to receive(:[]).with('EXPIRE_USER_DELETION_JOB_DISABLED').and_return('anything') }
|
||||||
|
|
||||||
|
it 'does not call ExpiredUsersDeletionService.process_expired' do
|
||||||
|
expect(ExpiredUsersDeletionService).not_to receive(:process_expired)
|
||||||
|
subject
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when env[EXPIRE_USER_DELETION_JOB_DISABLED] is absent' do
|
||||||
|
it 'calls ExpiredUsersDeletionService.process_expired' do
|
||||||
|
expect(ExpiredUsersDeletionService).to receive(:process_expired)
|
||||||
|
subject
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue