工作完成后重定向用户

时间:2014-02-04 17:12:40

标签: python redirect flask worker

我在python中使用了应用程序,使用了烧瓶和铁工人。我正在寻求实现以下方案:

  1. 用户按下网站上的按钮
  2. 任务排队等候工作人员
  3. 工作人员处理任务
  4. 工作人员完成任务,通知我的应用
  5. 我的应用将用户重定向到新端点
  6. 我目前处于第5点的中间位置,我让工作人员成功完成了工作并向我的应用中的特定端点发送了POST请求。现在,我想以某种方式确定哪个用户调用了该任务,并将该用户重定向到我的应用程序中的新端点。我怎样才能做到这一点?我可以在工作负载中传递所有类型的数据,然后通过POST返回它,问题是如何为访问我的页面的特定用户调用重定向?

1 个答案:

答案 0 :(得分:1)

您可以按照以下方式执行此操作:

  • 当用户按下按钮时,服务器启动任务,然后向客户端发送响应,可能是“请稍候......”类型页面。除响应外,服务器还必须包含一个引用Javascript可访问任务的任务ID。
  • 客户端使用任务ID通过ajax轮询服务器有关任务完成状态的信息。我们假设这是路线/status/<taskid>。此路由将truefalse作为JSON返回。它还可以返回可用于呈现进度条小部件的完成百分比。
  • 当服务器报告任务完成时,客户端可以将重定向发送到完成页面。如果需要告知客户端要重定向到的URL是什么,那么状态路由可以将其包含在JSON响应中。

我希望这有帮助!