demarches-normaliennes/app/jobs/cron/operations_signature_job.rb
2024-04-19 08:48:17 +02:00

18 lines
634 B
Ruby

class Cron::OperationsSignatureJob < Cron::CronJob
self.schedule_expression = "every day at 6 am"
def perform(*args)
start_date = DossierOperationLog.where(bill_signature: nil).order(:executed_at).pick(:executed_at).beginning_of_day
last_midnight = Time.zone.today.beginning_of_day
while start_date < last_midnight
operations = DossierOperationLog
.select(:id, :digest)
.where(executed_at: start_date...start_date.tomorrow, bill_signature: nil)
BillSignatureService.sign_operations(operations, start_date) if operations.present?
start_date = start_date.tomorrow
end
end
end