Class: Workers::TicketTransactions::CancelTemporaryWorker

Inherits:
ApplicationWorker show all
Defined in:
app/workers/workers/ticket_transactions/cancel_temporary_worker.rb

Instance Method Summary collapse

Methods inherited from ApplicationWorker

unlimited_retry

Instance Method Details

#perform(transaction_id, session_id) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'app/workers/workers/ticket_transactions/cancel_temporary_worker.rb', line 3

def perform(transaction_id, session_id)
  # we call this worker from the lock system, so sometimes the transaction is not exist
  # when we rollback the transaction
  transaction = TicketTransaction.find_by(id: transaction_id)
  return if transaction.blank?
  return if transaction.session_id != session_id
  return unless transaction.active? && transaction.for_locking_system?

  service = PaymentProcessService::Cancelled.new(:ticket_transaction, transaction_id, 'cancel lock system')
  service.execute
end