如何停止Django线程
How to Stop Django Thread
我有一个使用Jquery和Python的网站。
我有一个执行python函数的Ajax请求。Python函数内部有一个与Linux的接口,用于执行c++库。
我遇到的问题是,当我创建两个请求通过Python从AJAX执行这个c++库时。c++ Task的加载时间可能长达2分钟。这是很好的,但是当我从当前页面导航,因为以前的任务还没有完成,Django不会加载我一个新的页面。
是否有任何方法可以确定页面是否正在导航,如果是,然后调用python来停止其功能,以便我可以有一些响应。
我想到的一种方法是线程,但是当我执行这种方法时,如果我在线程仍在执行时导航离开,我可以从调试器中看到它返回数据,即使我不在调用请求的页面上。
那么,有没有人有任何想法,我可以让python杀死所有线程的导航远离当前页面。
欢呼
似乎您需要异步执行您的"阻塞" c++库。有几种方法可以解决这类问题,但我认为线程是错误的…
一种方法是使用像Tornado这样的异步web服务器来处理异步请求。另一个(也是我更喜欢的一个)是使用芹菜。相关文章:
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- javascript中的多线程
- Javascript支持多线程吗
- 如何在nodejs中创建线程池
- 起始节点.js用于并行的线程池
- Doppio:多线程是如何工作的,有什么限制吗
- 为什么Javascript SetTimeout()不是多线程的
- Selenium异步脚本在自己的线程中阻塞其他脚本
- Node.js如何使用更少的线程来处理多个连接
- Node.js如何用一个线程处理同时请求
- 从多线程C++插件回调NodeJS Javascript函数
- 电子框架是否允许网络工作者进行多线程处理
- 追加新web组件时出现线程问题
- 隔离每个线程/用户的setInterval
- Angular js显示类似gmail的重叠电子邮件线程
- 在节点.js的多个线程中运行任务
- JavaScript的setInterval可以阻止线程执行吗?
- 是否可以在加载Disqus线程后使用javascript覆盖Disqus 2012中的css
- Web 工作线程中的同步 XHR 请求是否仍会锁定浏览器
- 如何停止Django线程