If by background job, you mean something like Resque or Sidekiq, you'd still need to use `after_commit`, since you'd still be talking to an external resource during an open transaction.