如何让Django REST调用开始工作?

时间:2014-07-29 05:25:54

标签: python django

很抱歉,如果有人问过这么多次,但我正在尝试用Django来完成某些事情,但我不确定如何开始或者搜索什么寻求帮助。

我想要做的是让Django网络应用程序产生一个(可能很长的)任务,以响应用户使用REST Web请求命中它。

  • 用户访问myserver.com/some/rest/call
  • Django应用程序路由到一个视图开始我的工作。像子进程一样简单的东西就是我想要做的事情。
  • Django视图立即向用户返回成功,即在返回响应之前不等待长作业完成。

这种情况可能吗?我不清楚如果最终能够完成它的功能立即返回,新工作如何管理。

感谢您的任何指示。

1 个答案:

答案 0 :(得分:1)

是的,这是一种常见的模式。大多数人使用celery作为异步任务队列。您也可以使用subprocess我想。

在跟踪工作结果方面,这取决于您。 Celery当然可以更轻松地管理和跟踪任务,但几乎所有系统都需要某种类型的数据存储来捕获操作的结果。