Как проверить статус ответа API в Rails - PullRequest
0 голосов
/ 04 июня 2019

Я использую HTTParty gem для выполнения запроса в моем приложении Rails.

  1. Создание POST-запроса для генерации отчета
  2. Создание GET-запроса для проверки состояния отчета
  3. Загрузка отчета после завершения статуса отчета

Мне нужно сделать запрос GET выше, пока не будет завершен статус отчета.Обновление статуса отчета займет некоторое время.

Как эффективно проверить статус отчета?

def get_report(id)
// making requests
end

report = get_report(3)
report['status']

1 Ответ

0 голосов
/ 05 июня 2019

Вы должны использовать ActiveJob для выполнения такого рода процесса.Использование выглядит следующим образом.

 class ReportingGenerationJob < ActiveJob::Base
  queue_as :default

  after_perform do |job|
    ReportGenrator.notify_ready_to_download(job.arguments.first)
  end

  def perform(report_id)
    ReportGenerator.generate(report_id) #Your ReportGenerator has to expose api for get the current status
  end
end
...