LINE Message API 採用非同步的做法,可以參考「開發LINE聊天機器人不可不知的十件事」,以下擷取文章的內容。
一般而言,開發者可以使用下列二種方式來進行收到LINE事件訊息後的非同步處理:
- 在Webhook收到事件訊息的程序上,先回覆LINE平台HTTP狀態碼200並關閉連線,然後以原程序直接處理。
- Webhook收到事件訊息的程序先將事件內容儲存到一個佇列(Queue)或資料庫中,然後回覆LINE平台HTTP狀態碼200並關閉連線,結束程序。再以另外一個或多個程序依序讀取佇列或資料庫中的事件內容逐一處理。
因為 LINE 機器人後端要串接自己的 Language Understanding 模組
但不知道 LINE 接到訊息後,它的 Reply Token 時效(valid time)是多久
所以就做了小小的測試
測了幾次後
得到的結果是差不多在 30 秒 or 31 秒的時候,Reply Token 就會失效惹
所以後端要處理的時間必須在 30 秒內結束並回傳給使用者/用戶 (Reply Token),否則就需要使用 push 的功能