- 主题:请教一个老问题:页面执行耗时操作
假如有一个操作很耗时,不想让用户在浏览器页面等很久
想让后台开一个线程操作,页面操作立即返回
一般用什么方法实现?
如果另开一个进程,耗时操作由进程来做应该可以。
但要进行进程间通信,不是很方便。
有没有web服务器支持直接开线程,然后web代码可以方便的和线程交互的?
java+tomcat和AMP分别怎么做?
如果是java,
我的想法是这样的,用户发送一个请求,后台从application获取一个驻留对象p
把请求发给p,然后页面立即返回
p完成任务后,往application或数据库中写个结果
用户回头再来查看就行了
不知道可不可行
python+django试过 没成功
php搜很久没找到靠谱的答案,多数是讲IPC
--
修改:baoxiaoqiang FROM 223.65.143.*
FROM 223.65.140.*
能否具体些 给个参考链接?
【 在 xWvxYWYxvWx (xWvxYWYxvWxxWvxYWYxvWx) 的大作中提到: 】
: 异步消息队列。
--
FROM 223.65.140.*
websocket是指的向浏览器端推数据么
我主要是想问在web服务器里面开线程,可不可行
【 在 dhcn (coder) 的大作中提到: 】
: 最正规的玩法是websocket,如果通信简单用comet。
--
FROM 223.65.140.*
晕 我多写了通知用户几个字
其实不是重点
我的意思 用户随时在他想看的时候就去看看也可以
通知无论怎么通知都行,写在数据库里,写在其它什么地方,发邮件都没或者发短信打
电话人肉通知都没关系
我的主要疑问是怎么在web服务器里面完成耗时工作(页面立即返回)
不用开新的进程
方便写代码,就像写普通的页面后台处理一样
也许这根本不成问题,可以直接按我想的去写,只是我没试过而已
不过你说的对我也很有帮助,收藏了有空学学,谢谢!
【 在 XeCycle (据说是小 X) 的大作中提到: 】
: web服务器开不开线程跟websocket完全没关系啊。
: 依照你这个“完成后通知用户”的时间差需求量级,可以做 second poll, minute poll,
: 要 soft real-time 的话 websocket/comet/eventsource/long poll... 哪个都一样。
: ...................
--
FROM 223.65.143.*