Class: Vendors::SuppliersMemoSyncWorker

Inherits:
ApplicationWorker show all
Defined in:
app/workers/vendors/suppliers_memo_sync_worker.rb

Instance Method Summary collapse

Methods inherited from ApplicationWorker

unlimited_retry

Instance Method Details

#performObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/workers/vendors/suppliers_memo_sync_worker.rb', line 2

def perform
  VendorReservation.where(supplier_memo_payment_status: :pending).where.not(inventory_source_id: 1).
    includes(reservation: :vendor_reservation).where('reservations.date >= ?', Date.today).
    references(:reservation).find_in_batches(batch_size: 100) do |batch|
    batch.each do |v_res|
      reservation = v_res.reservation

      next if reservation.blank?

      begin
        VendorsService::UpdateMemoService.new(reservation).execute
      rescue StandardError => e
        BUSINESS_LOGGER.error("Update Payment Memo failed for Reservation #{reservation&.id}", error: e.message)
        APMErrorHandler.report(e, vendor_reservation_id: v_res.id, reservation_id: reservation&.id)
      end
    end
  end
rescue StandardError => e
  BUSINESS_LOGGER.error('Fatal error in SuppliersMemoWorker', error: e.message)
  APMErrorHandler.report(e)
end