transaction_job.rb 667 B

1234567891011121314151617181920212223242526
  1. class TransactionJob < ApplicationJob
  2. =begin
  3. {
  4. object: 'Ticket',
  5. type: 'update',
  6. ticket_id: 123,
  7. interface_handle: 'application_server', # application_server|websocket|scheduler
  8. changes: {
  9. 'attribute1' => [before,now],
  10. 'attribute2' => [before,now],
  11. },
  12. created_at: Time.zone.now,
  13. user_id: 123,
  14. },
  15. =end
  16. def perform(item, params = {})
  17. Setting.where(area: 'Transaction::Backend::Async').order(:name).each do |setting|
  18. backend = Setting.get(setting.name)
  19. next if params[:disable]&.include?(backend)
  20. TransactionDispatcher.execute_single_backend(backend.constantize, item, params)
  21. end
  22. end
  23. end