作者aaa7513231 (浑沌与秩序)
看板PHP
标题[请益] 大量运算执行中,进度的回传
时间Fri Apr 15 15:35:07 2016
大家好,我目前写的一支PHP
执行计算并贴到Excel上去
但他的执行时间可能要到达20秒以上
这样网页的使用者一定会觉得很困惑不知道档案是否有在执行还是挂了
想请问这样大执行运算的程式大家会怎样写
并且做错误管理,因为我也常常发生其中一段计算有问题
就整个档案不能下载
希望大家能提供意见,谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.124.29.189
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1460705709.A.0C5.html
1F:推 LaPass: 用命令列去执行 04/15 15:44
2F:→ LaPass: 先让网页传回结果要使用者等,然後用命令列去call php, 04/15 15:45
3F:→ LaPass: 执行耗时的部份。还有php本身就不适合干这种事情.... 04/15 15:46
4F:→ aaa7513231: 我比较想知道说,我希望让网页可以知道计算进度的话 04/15 16:01
5F:→ aaa7513231: 除了我网页设计时器去读资料库跟我PHP纪录进度在资料 04/15 16:02
6F:→ aaa7513231: 库外,有没有其他比较恰当的做法 04/15 16:02
7F:推 springman: 大量运算的话,用 C 语言执行速度还是比较快。 04/15 16:27
8F:推 LaPass: ajax websocket 选一个,基本上就是这样 04/15 16:40
9F:推 hung0724: 要及时的process bar这样? 04/15 17:44
10F:推 rockmanalpha: 用Ajax比较好 PHP也有办法在执行中强制输出内容 04/15 18:14
11F:→ rockmanalpha: 但这种办法无法配合介面显示 用Ajax比较好 04/15 18:15
12F:推 shadowjohn: 进度定期喷到暂存档,ajax定期读取 04/15 18:47
13F:→ aaa7513231: ajax应该没办法回应很多段吧?有考虑 04/16 01:26
14F:→ aaa7513231: 用stocket,对他不是很熟所以才询问大家 04/16 01:27
15F:→ aaa7513231: 的意见 04/16 01:27
16F:→ aaa7513231: 然後会用php计算是因为我後台只会用php跟 04/16 01:29
17F:→ aaa7513231: Python,他运算很久应该是因为大量的资料 04/16 01:29
18F:→ aaa7513231: 库抓取分析,所以优化程式码可能没办法 04/16 01:29
19F:推 shadowjohn: 是你不会...不是不能 04/16 01:34
20F:→ MOONRAKER: 你"应该"不怎麽熟ajax对不对。 04/16 17:42
23F:→ imcar: 利用前端ajax去读後端程式写的json,把进度或错误都写到json 05/02 20:33