您好,登錄后才能下訂單哦!
一個(gè)簡(jiǎn)單的需求,提交大量數(shù)據(jù)到遠(yuǎn)程服務(wù)器,此時(shí)并不需要等待返回。
另一個(gè)需求,獲取API數(shù)據(jù),同時(shí)查詢數(shù)據(jù)庫(kù),并行處理,加快響應(yīng)速度。
set_time_limit
ignore_user_abort
只是結(jié)束會(huì)話后繼續(xù)執(zhí)行,并沒(méi)有并發(fā),勉強(qiáng)非阻塞
無(wú)法非阻塞,只能等待,可以并發(fā)
https://github.com/guzzle/guzzle/issues/1127
坑最多的地方
首先,fwrite并不都是成功的,返回寫(xiě)入的字節(jié)數(shù),并不是全部
其次,PHP的bug,stream_set_blocking設(shè)置非阻塞,須等待才能寫(xiě)入,7.0.x以上才解決,https://github.com/php/php-src/pull/2330
Warning: fwrite(): SSL operation failed with code 1. OpenSSL Error messages: error: 1409F07F: SSL routines: SSL3_WRITE_PENDING: bad write retry
再次,Keep-Alive的坑,需要比對(duì)Content-Length和返回長(zhǎng)度,然后斷開(kāi)
最后,Transfer-Coding的值如果為Chunked,需要拼接返回結(jié)果
pfsockopen,需要使用Keep-Alive,并且不能close鏈接
異步框架:swoole。。。
計(jì)劃任務(wù):redis+crond
pcntl:開(kāi)啟新進(jìn)程
popen:調(diào)用外部程序
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。