如何停止Django线程
我有一个网站,使用了Jquery和Python。
我有一个Ajax请求,它会调用一个Python函数。在这个Python函数里,有一个和Linux的接口,用来执行一个C++库。
我遇到的问题是,当我通过Ajax发起两个请求来执行这个C++库时,这个C++任务可能需要长达2分钟才能完成。虽然这没问题,但当我离开当前页面时,由于之前的任务还没有完成,Django就不会让我加载新页面。
有没有办法让我知道页面是否正在离开,如果是的话,就调用Python停止它的函数,这样我就可以保持一些响应性。
我想到的一种方法是使用线程,但当我用这种方法时,如果在一个线程还在执行的时候我离开了页面,我可以从调试器看到它仍然返回数据,即使我已经不在发起请求的页面上。
所以,有没有人有什么想法,如何让Python在离开当前页面时终止所有线程。
谢谢!