class Cron::OperationsSignatureJob < Cron::CronJob
  self.schedule_expression = "every day at 6 am"

  def perform(*args)
    last_midnight = Time.zone.today.beginning_of_day
    operations_by_day = BillSignatureService.grouped_unsigned_operation_until(last_midnight)
    operations_by_day.each do |day, operations|
      begin
        BillSignatureService.sign_operations(operations, day)
      rescue
        raise # let errors show up on Sentry and delayed_jobs
      end
    end
  end
end
