[請益] 大量運算執行中,進度的回傳

看板PHP作者 (渾沌與秩序)時間8年前 (2016/04/15 15:35), 編輯推噓9(9014)
留言23則, 9人參與, 最新討論串1/1
大家好,我目前寫的一支PHP 執行計算並貼到Excel上去 但他的執行時間可能要到達20秒以上 這樣網頁的使用者一定會覺得很困惑不知道檔案是否有在執行還是掛了 想請問這樣大執行運算的程式大家會怎樣寫 並且做錯誤管理,因為我也常常發生其中一段計算有問題 就整個檔案不能下載 希望大家能提供意見,謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.29.189 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1460705709.A.0C5.html

04/15 15:44, , 1F
用命令列去執行
04/15 15:44, 1F

04/15 15:45, , 2F
先讓網頁傳回結果要使用者等,然後用命令列去call php,
04/15 15:45, 2F

04/15 15:46, , 3F
執行耗時的部份。還有php本身就不適合幹這種事情....
04/15 15:46, 3F

04/15 16:01, , 4F
我比較想知道說,我希望讓網頁可以知道計算進度的話
04/15 16:01, 4F

04/15 16:02, , 5F
除了我網頁設計時器去讀資料庫跟我PHP紀錄進度在資料
04/15 16:02, 5F

04/15 16:02, , 6F
庫外,有沒有其他比較恰當的做法
04/15 16:02, 6F

04/15 16:27, , 7F
大量運算的話,用 C 語言執行速度還是比較快。
04/15 16:27, 7F

04/15 16:40, , 8F
ajax websocket 選一個,基本上就是這樣
04/15 16:40, 8F

04/15 17:44, , 9F
要及時的process bar這樣?
04/15 17:44, 9F

04/15 18:14, , 10F
用Ajax比較好 PHP也有辦法在執行中強制輸出內容
04/15 18:14, 10F

04/15 18:15, , 11F
但這種辦法無法配合介面顯示 用Ajax比較好
04/15 18:15, 11F

04/15 18:47, , 12F
進度定期噴到暫存檔,ajax定期讀取
04/15 18:47, 12F

04/16 01:26, , 13F
ajax應該沒辦法回應很多段吧?有考慮
04/16 01:26, 13F

04/16 01:27, , 14F
用stocket,對他不是很熟所以才詢問大家
04/16 01:27, 14F

04/16 01:27, , 15F
的意見
04/16 01:27, 15F

04/16 01:29, , 16F
然後會用php計算是因為我後台只會用php跟
04/16 01:29, 16F

04/16 01:29, , 17F
Python,他運算很久應該是因為大量的資料
04/16 01:29, 17F

04/16 01:29, , 18F
庫抓取分析,所以優化程式碼可能沒辦法
04/16 01:29, 18F

04/16 01:34, , 19F
是你不會...不是不能
04/16 01:34, 19F

04/16 17:42, , 20F
你"應該"不怎麼熟ajax對不對。
04/16 17:42, 20F

04/16 20:07, , 21F
除非你用MQTT,不然解決方法就這樣http://goo.gl/ASFgv0
04/16 20:07, 21F


05/02 20:33, , 23F
利用前端ajax去讀後端程式寫的json,把進度或錯誤都寫到json
05/02 20:33, 23F
文章代碼(AID): #1N49cj35 (PHP)