7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'app/workers/delivery_queue_invoicing_worker.rb', line 7
def perform
start_time = 15.seconds
deliveries_to_invoice = Delivery
.where(state: 'shipped')
.left_joins(:invoices)
.where(invoices: { id: nil }) .order(:shipped_date)
.pluck(:id)
logger.info "Found #{deliveries_to_invoice.size} shipped deliveries without invoices"
deliveries_to_invoice.each do |del_id|
logger.info "Queuing delivery id #{del_id} for invoicing"
DeliveryInvoicingWorker.perform_in(start_time, del_id)
start_time += 15.seconds
end
end
|