[請益] 有沒有這種多工的函數

看板PHP作者 (包小皮)時間6年前 (2018/10/30 16:46), 編輯推噓2(2015)
留言17則, 9人參與, 6年前最新討論串1/1
想要讀20個網站的RSS,讀到的資料放到我的資料庫。 但是很慢,PHP程式執行的時間已經超過PHP設定(max_execution_time)的最大限制。 雖然改了php.ini設定後,可以執行了,但還是慢。 我是把20個網站的RSS存在陣列中,再用for迴圈依序讀。 我想了一個方法,就是開兩個分頁,一個讀0~11,另一個讀12~19 已經成功了,可是畢竟不是很正常的寫法,有點有歪路土法煉鋼。 有沒有函數是可以幫我處理這種情況的?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.77.104 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1540889172.A.4A9.html

10/30 17:55, 6年前 , 1F
用php-cli跑 或 pcntl_fork()
10/30 17:55, 1F

10/30 20:09, 6年前 , 2F
哪裡慢?網路慢?CPU慢?硬碟慢?
10/30 20:09, 2F

10/30 20:11, 6年前 , 3F
curl_multi_init(), guzzle concurrent request
10/30 20:11, 3F

10/30 20:39, 6年前 , 4F
先用js處理過 再透過php寫入資料庫?
10/30 20:39, 4F

10/30 20:57, 6年前 , 5F
應該是讀rss的時候 有的網站的速度快 有的慢 可能是對方
10/30 20:57, 5F

10/30 20:57, 6年前 , 6F
網速的問題拖到我
10/30 20:57, 6F

10/30 20:58, 6年前 , 7F
我實際上不是讀20個網站 是100多個網站 每讀完一個就會
10/30 20:58, 7F

10/30 20:59, 6年前 , 8F
就會ECHO 就會看到迴圈跑一跑就卡住的情況
10/30 20:59, 8F

10/30 21:08, 6年前 , 9F
改成跑五支php cli,每支負責20個,丟背景跑
10/30 21:08, 9F

10/30 21:17, 6年前 , 10F
用fopen的方式跑迴圈,我目前用這方法同時向100台機器
10/30 21:17, 10F

10/30 21:17, 6年前 , 11F
要資料,起始時間都一樣,回來的時間也都差不多(依機
10/30 21:17, 11F

10/30 21:17, 6年前 , 12F
器性能不同返回資料的時間也不同),都同時寫入資料庫
10/30 21:17, 12F

10/30 21:17, 6年前 , 13F
,給你參考看看
10/30 21:17, 13F

10/30 21:59, 6年前 , 14F
guzzle http可以一次送多個請求出去,所需時間大概是
10/30 21:59, 14F

10/30 21:59, 6年前 , 15F
回應最長的時間
10/30 21:59, 15F

10/30 22:29, 6年前 , 16F
要不要用curl keep alive http?
10/30 22:29, 16F

11/01 01:56, 6年前 , 17F
文章代碼(AID): #1Rs1fKIf (PHP)
文章代碼(AID): #1Rs1fKIf (PHP)