代码之家  ›  专栏  ›  技术社区  ›  Jack Edmonds

停止塔架中长时间运行的请求

  •  1
  • Jack Edmonds  · 技术社区  · 15 年前

    该应用程序应该允许用户运行一些复杂的计算,但我想确保,如果一个计算开始花太多时间,我们停止它,让其他计算发生。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Vinay Sajip    15 年前

    与其用错误终止请求,更好的方法可能是在单独的线程或进程中执行长时间运行的计算:

    1. 当接收到计算请求时,它将被添加到队列中并用唯一id标识。您将重定向到引用唯一id的结果页,其中可以有“请稍候,正在计算”消息和刷新按钮(或通过元标记自动刷新)。
    2. 执行计算的线程或进程从队列中弹出请求,更新最终结果(可能还有进度信息),结果页处理程序将在刷新时向用户显示这些结果。
    3. 计算完成后,返回的刷新页面将没有刷新按钮或刷新标记,而只显示最终结果。
    推荐文章