php - 如何在存取一個執行時間比較久的api的時候,不理會它的執行時間和返回值,直接執行下一行程式碼?
阿神
阿神 2017-05-16 13:10:48
0
8
434

如題:

其实大概就是想在打开一个页面的时候,再通过api去触发一个程序,但是这个程序执行的比较慢,我不想在页面里理会它的执行和返回,触发请求之后直接就继续执行后面的代码,请问大家,这种情况时具体用php代码应该如何实现?
阿神
阿神

闭关修行中......

全部回覆(8)
左手右手慢动作

@dawnblog 說的方法誠然是可以的,但是題主的需求只需要用fsockopen簡單地觸發一下就可以了,並不需要處理回調數據.

參考: http://www.laruence.com/2008/...

黄舟

這樣告訴你吧,如果你想異步出發程序不是不可以,用socket就可以實現
具體實施的步驟
1.發送指令到socket伺服器上
2.socket接收指令,通過長鏈接的方式,異步發送命令到另外一個任務處理伺服器上
3.socket直接告知web伺服器收到指令並執行,但任務透過任務處理伺服器來執行. ---- 這一步,相當於ajax異步執行
4.任務處理伺服器完成後,發送完成指令到socket伺服器上.
5.由socket伺服器完成指定的任務完成邏輯.
在第5步中可以細化,當然了,我對於異步是這樣處理的,如果有其他更好的方式請指出不足指出.
以上程式碼具體實作請查看workman

伊谢尔伦

小伙子,老夫傳授給你兩字真言:隊!列!

phpcn_u1582

如果時效性不強的話。推薦快取起來

曾经蜡笔没有小新

fastcgi_finish_request()可以滿足你,php-fpm才支援。 。或是搞個隊列服務

为情所困

php連異步回呼都沒有嗎?哎

世界只因有你

swoole進程管理不一樣的PHP 參見swoole進程管理

巴扎黑

這不就是非同步傳輸技術嗎?不使用socket也可以的吧

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板