获得短期芹菜任务的结果(Django)

时间:2017-02-10 13:34:43

标签: django django-rest-framework celery

实施短期芹菜任务(3-7秒)的最佳方法是什么?

现在我使用以下方法。

  • 用户点击向api发送请求的按钮 - api触发芹菜任务并返回task_id
  • 然后我们通过Ajax
  • 检查task_id的结果

更新:问题应该关闭,从长时间运行的任务中得到结果没有区别。

1 个答案:

答案 0 :(得分:1)

作为一般规则(包括所有后台任务,不仅仅是Celery / Django),这实际上是你最好的选择。出现了相同的模式

  • 用户发出HTTP请求
  • 服务器启动后台服务(通过Celergy,其他一些异步。服务,甚至通过命令行执行(< - 如果可以避免的话,不要这样做))并返回某种形式的标识符
  • 用户代理发出新的HTTP请求以获取有关新服务/流程状态的信息。

您应该查看long polling