【发布时间】:2013-07-08 06:07:51
【问题描述】:
在使用 Django 开发我的 Web 应用程序时,我遇到了一个问题,当我在本地调用某些函数时它们可以正常工作,但是一旦我通过 HTTP 请求调用它们,它们就不会被执行。 我四处询问,并被告知使用 celery 和消息队列服务器在请求响应周期之外异步执行它们,它运行良好,但我仍然不明白为什么我必须异步执行某些任务,即使我没有竞争条件,并且只有一个客户端调用 Web 服务。 这对我来说是一个很大的黑点,因为我在不知道如何做的情况下让它工作。 谁能给我解释一下?
谢谢。
【问题讨论】:
-
你能展示一些代码和你的问题吗?
-
def comp(request): p = subprocess.Popen(['javac',filepath],stdout=subprocess.PIPE,stderr=subprocess.PIPE, bufsize=100) res, err =p.当我通过 http 调用此应用程序时,communicate() 返回 HttpResponse (err) 直到我使用 celery 并定义了一个任务,我在请求/响应周期之外执行编译时它才起作用
-
使用开发服务器时是否有效?
标签: django httprequest message-queue