Skip to content

Instantly share code, notes, and snippets.

@bleonard
Created April 14, 2017 22:03
Show Gist options
  • Save bleonard/25e5ce10329c59206a537d269587bab9 to your computer and use it in GitHub Desktop.
Save bleonard/25e5ce10329c59206a537d269587bab9 to your computer and use it in GitHub Desktop.
class InvoiceChargeWorker
include TResque::Worker
inputs :invoice_id
def work
return unless needed?
invoice.charge!
end
def needed?
invoice.pending?
end
def invoice
@invoice ||= Invoice.find(invoice_id)
end
end
# When invoice is created
InvoiceChargeWorker.enqueue_at(24.hours.from_now, invoice_id: invoice.id)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment