[请益] 大量运算执行中,进度的回传

楼主: aaa7513231 (浑沌与秩序)   2016-04-15 15:35:07
大家好,我目前写的一支PHP
执行计算并贴到Excel上去
但他的执行时间可能要到达20秒以上
这样网页的使用者一定会觉得很困惑不知道档案是否有在执行还是挂了
想请问这样大执行运算的程式大家会怎样写
并且做错误管理,因为我也常常发生其中一段计算有问题
就整个档案不能下载
希望大家能提供意见,谢谢大家
作者: LaPass (LaPass)   2016-04-15 15:44:00
用命令列去执行先让网页传回结果要使用者等,然后用命令列去call php,执行耗时的部份。还有php本身就不适合干这种事情....
楼主: aaa7513231 (浑沌与秩序)   2016-04-15 16:01:00
我比较想知道说,我希望让网页可以知道计算进度的话除了我网页设计时器去读数据库跟我PHP纪录进度在数据库外,有没有其他比较恰当的做法
作者: springman (司布林)   2016-04-15 16:27:00
大量运算的话,用 C 语言执行速度还是比较快。
作者: LaPass (LaPass)   2016-04-15 16:40:00
ajax websocket 选一个,基本上就是这样
作者: hung0724 (三头)   2016-04-15 17:44:00
要及时的process bar这样?
作者: rockmanalpha (KIN)   2016-04-15 18:14:00
用Ajax比较好 PHP也有办法在执行中强制输出内容但这种办法无法配合接口显示 用Ajax比较好
作者: shadowjohn (转角遇到爱)   2016-04-15 18:47:00
进度定期喷到暂存盘,ajax定期读取
楼主: aaa7513231 (浑沌与秩序)   2016-04-16 01:26:00
ajax应该没办法回应很多段吧?有考虑用stocket,对他不是很熟所以才询问大家的意见然后会用php计算是因为我后台只会用php跟Python,他运算很久应该是因为大量的数据库抓取分析,所以优化程式码可能没办法
作者: shadowjohn (转角遇到爱)   2016-04-16 01:34:00
是你不会...不是不能
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-04-16 17:42:00
你"应该"不怎么熟ajax对不对。
作者: locklose (允)   2016-04-16 20:07:00
除非你用MQTT,不然解决方法就这样http://goo.gl/ASFgv0
作者: imcar (imcar)   2016-05-02 20:32:00
https://eweb.dayes.tc.edu.tw/simple-show-progress/利用前端ajax去读后端程式写的json,把进度或错误都写到json

Links booklink

Contact Us: admin [ a t ] ucptt.com