国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman網(wǎng)站上下載的靜態(tài)php的curl擴展存在超時設(shè)置無效的問題

qiye1

問題描述

如題,自己本想寫個在網(wǎng)頁里實現(xiàn)向aria2提交下載任務(wù)的功能,使用到php的curl擴展來向aria2的rpc服務(wù)提交下載任務(wù),發(fā)現(xiàn)在aria2沒有開啟的情況下,會出出現(xiàn)curl長時間等待的情況,就會出現(xiàn)整個worker進程被curl阻塞,無法響應其他正常請求,即使設(shè)置了curl的超時時間為毫秒級也沒有用(curl_setopt($ch, CURLOPT_TIMEOUT_MS,$outtime);),大概會阻塞5秒

程序代碼或配置

起初還以為是其他請求代碼造成了超時,所以先把其他業(yè)務(wù)代碼刪除了,直接在onmessage里new aria2對象來實驗

curl執(zhí)行curl_exec耗時記錄,超時毫秒數(shù)設(shè)置由post方法的參數(shù)傳入,執(zhí)行前記錄到t0,執(zhí)行后記錄到t1,然后輸出差值

我的post方法超時設(shè)置為200毫秒

重現(xiàn)問題的步驟

這是官方網(wǎng)站上下載的靜態(tài)php版本執(zhí)行的情況,可以看到啟動命令是./php,版本是8.3.12,截圖里輸出yy5.00995,就是阻塞耗時5秒,而上面post方法傳入的超時為200毫秒

這是用我系統(tǒng)的php執(zhí)行情況,可以看到啟動命令是php,版本是8.2.6。截圖里輸出yy0.0071709,阻塞就沒有那么嚴重

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

這里寫具體的系統(tǒng)環(huán)境相關(guān)信息
ubuntu

431 2 1
2個回答

walkor 打賞

PHP的curl要設(shè)置毫秒超時的話,需要設(shè)置 curl_setopt ( $ch, CURLOPT_NOSIGNAL, true);

qiye1

aria2的RPC地址沒有問題的情況下請求耗時都是在10毫秒左右,哎,因為粗心,導致浪費一大把時間


  • 暫無評論
??