亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 lambda 處理程序回復后等待 goroutine 完成

如何在 lambda 處理程序回復后等待 goroutine 完成

Go
小怪獸愛吃肉 2023-06-26 15:30:48
我正在使用 Go 和 Aws Lambda 編寫一個 Slack 機器人。Slack 要求機器人在 3 秒內回復。然而,有時我無法讓它回復那么快,因為它正在與其他無服務器應用程序“對話”以請求一些數據或調度任務。我以前從未使用過 goroutine,但我希望我可以實現這樣的東西:Lambda 收到請求機器人創建一個 goroutine 來處理這個請求并采取相應的行動處理程序不會等待所有這些操作完成,而是立即回復 200。Lambda 繼續運行,直到 goroutine 完成。我不確定這是否可能。我讀過有關 的內容sync.WaitGroup,但我不確定如何將它與 main 函數合并在一起。我應該在處理程序中使用它嗎?但我需要return響應,而這不是我可以包裝到 goroutine 中的函數。理想情況下,我希望處理程序立即回復,然后在后臺處理 goroutine。
查看完整描述

1 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

請求完成后,不要嘗試在 lambda 處理程序中執行任何操作。

更可靠的方法:

  1. 接受呼叫并記錄所需的任何輸入數據。

  2. 將數據放入SQS中

  3. 使用 HTTP 200 進行響應

  4. 另一個(SQS 觸發的)函數執行處理,并在需要時回調 Slack 記錄的數據response_url


查看完整回答
反對 回復 2023-06-26
  • 1 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號