[PHP] 緩處理的快速回應方式

本篇文章更新時間:2023/08/08
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣新台幣 贊助支持。


其實我標題原本想打「 PHP 處理 Facebook 請求射後不理的快速回應方法」,但覺得其實也不是只有用在 Facebook 這邊,所以就這樣囉~

情境是:後端需要一段時間處理的程序(做圖、打包檔案之類的),為了不讓使用者等過久以及等過久頁面被關閉後導致程序中斷,所以需要先拋下請求端。

拋下的部分有兩種,一種是不管你關不關,我都會自己處理好,另一種是在你關閉頁面中斷連線前,我來個先下手為強自己切斷連線(嘖)。

先前寫過一篇「PHP 背景執行的需求與方法」筆記,比較偏向第一種的背景處理,這次說明的是第二種比較強勢的做法XD

參考:PHP mod_fcgi with fastcgi_finish_request(); 這篇問題解法。針對主流伺服器軟體 Apache 和 Nginx 就會有兩種不同作法,所以實作上還有要考慮執行 PHP 當下的伺服器環境。

以下是在實作對接 Facebook Webhook 時寫的 code

在 Nginx 下的缺點是會在 error log 中產生 Cannot modify header information 提示,目前一切正常,沒有會卡到來自 Facebook 請求的問題。

PHP #Facebook #Webhook #API #快速回應 #背景執行 #Apache #Nginx #關於技術 #FB2WP

- Powered by Mxp.TW -FB2WP-


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[///////////____36%_________]

參與討論

  1. Apex_wu

1 則留言

發佈留言

發佈回覆給「菜雞碼農」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon