如何中止客户端请求

时间:2014-06-04 17:29:01

标签: python django fork

我的应用程序中有使用Django框架的代码:

import os, time
def get(self, request, id=None):
    pid = os.fork()
    if pid == 0:
        self.run()
        time.sleep(600)
    else:
        time.sleep(20)
        return write_response()

我创建了一个子进程,它将创建将返回的数据。我真的需要做一个儿童过程的工作。函数run使用外部软件来计算要返回的数据。如果我不创建新进程,则只有第一个请求成功(外部软件约束)。

子进程大约需要10秒才能完成工作。父级等待20秒,然后使用子级计算的数据返回响应。对于客户来说一切正常。在服务器中,我得到异常(Broken pip)。

当子进程继续执行时,客户端已关闭套接字,因此引发异常。我该怎么做才能解决我的问题?

0 个答案:

没有答案