如果超过一定时间,我需要终止功能。通过谷歌搜索,我找到了解决方案,但现在面临另一个问题。我正在做这样的事情。
def index(Request):
p = multiprocessing.Process(target=foo, name="Foo", args=(5,))
p.start()
# Wait 10 seconds for foo
time.sleep(10)
# Terminate foo
p.terminate()
# Cleanup
p.join()
return HttpResponse("exit")
//run foo for 25 second
def foo(n):
for i in range(5 * n):
times = strftime("%H:%M:%S", gmtime())
print (times)
time.sleep(1)
上面的代码解决了我的问题,即它在10秒后终止了进程,但是如果foo
函数在5秒钟内完成其任务,由于以下原因,它仍然需要10秒钟来完成主线程 time.sleep(10)
因此,我想在foo
完成线程执行时结束线程,或者如果花费的时间超过一定时间,也要终止线程。
谢谢