[請益] 連續寫入資料

看板PHP作者時間15年前 (2009/06/30 14:49), 編輯推噓4(407)
留言11則, 5人參與, 最新討論串1/1
資料庫內的欄位是 datetime 做主鍵 原本的作法是每一秒寫入資料一次 for ($i ; $i <= 100 ; $i++) { ..... //寫資料進去資料庫 sleep(1) //停一秒 } 問題是,我的資料數超過兩百筆。 每次好像休息超過 30秒後就會整個停掉, 想請問有更好的方法可以嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.72.91

06/30 14:52, , 1F
第一行加入 set_time_limit(0);
06/30 14:52, 1F

06/30 14:53, , 2F
php.ini 預設程式執行的最大時間是30秒
06/30 14:53, 2F

06/30 15:06, , 3F
所以說,php無可能執行任何process超過30秒?
06/30 15:06, 3F

06/30 15:07, , 4F
謝謝樓上
06/30 15:07, 4F

06/30 15:09, , 5F
把極限擴充無限大好像常看到?不過我和同事都主張切割
06/30 15:09, 5F

06/30 15:09, , 6F
畢竟卡住執行很久這事覺得有風險..
06/30 15:09, 6F

06/30 15:31, , 7F
每寫完一筆資料就轉頁把下個i和資料帶到下一個頁面
06/30 15:31, 7F

06/30 17:48, , 8F
我會fork到另一頁 搭配set_time_limit和
06/30 17:48, 8F

06/30 17:48, , 9F
ignore_user_abort
06/30 17:48, 9F

06/30 17:48, , 10F
至於如何fork可以簡單用curl+timeout..
06/30 17:48, 10F

06/30 17:49, , 11F
這樣就可以background了..
06/30 17:49, 11F
文章代碼(AID): #1AIRLUgF (PHP)