Ruby on rails 我应该如何调整后台处理的应用程序逻辑?

Ruby on rails 我应该如何调整后台处理的应用程序逻辑?,ruby-on-rails,delayed-job,Ruby On Rails,Delayed Job,我有一个web应用程序,它使用从第三方API收集的数据生成报告。我在后台处理API调用和报告计算的工作被延迟了。我无法更新我的应用程序流以适应后台处理 在我使用后台处理之前 用户将单击“新建报告” 将显示一个带有的模态视图,以响应按钮的单击 该应用程序将处理API调用 完成后,报告将创建和重定向到报告显示页面 在后台调用API时,应用程序会重定向到一个空白报告(显然是!)。延迟的工作有一个successhook,我可能需要使用它,但我不确定如何从工作类/模型重定向 > P>您可以考虑创建一个新的

我有一个web应用程序,它使用从第三方API收集的数据生成报告。我在后台处理API调用和报告计算的工作被延迟了。我无法更新我的应用程序流以适应后台处理

在我使用后台处理之前

  • 用户将单击“新建报告”
  • 将显示一个带有的模态视图,以响应按钮的单击
  • 该应用程序将处理API调用
  • 完成后,报告将
    创建
    重定向到报告显示页面

  • 在后台调用API时,应用程序会重定向到一个空白报告(显然是!)。延迟的工作有一个
    success
    hook,我可能需要使用它,但我不确定如何从工作类/模型重定向

    > P>您可以考虑创建一个新的模型,例如“代码> RePixPo作业< /代码>,以表示正在进行的报表生成。这将与延迟作业使用的延迟作业实例一一对应。最基本的
    报告作业
    需要两个字段:
    状态
    (例如
    进行中
    完成
    等)和
    报告url
    <代码>报告url
    在作业处于
    进行中
    状态时,开始时将为
    nil
    。一旦作业完成且
    ReportJob
    移动到
    completed
    状态,它将由延迟作业填充

    浏览器启动的启动作业的POST将返回新创建的
    ReportJob
    实例的URL。您的JavaScript随后会轮询此URL,直到其
    状态
    转换为
    已完成
    ,然后将
    window.location.href
    etc设置为当前有效的
    报告URL
    URL以显示新报告