问题起源于:已经发送响应后,我可以在后台执行多少工作。例如:我只想接收数据,告诉客户端“确定”,然后进行一些可能需要一些时间的数据库操作。
package main
import (
"fmt"
"context"
"github.com/aws/aws-lambda-go/lambda"
)
type MyEvent struct {
Name string `json:"name"`
}
func HandleRequest(ctx context.Context, name MyEvent) (string, error) {
go RecordQuery(name)
return fmt.Sprintf("Hello %s!", name.Name ), nil
}
func RecordQuery(name MyEvent) {
// insert stuff in the database, mark user active,
// log activity, etc..
}
func main() {
lambda.Start(HandleRequest)
}
Run Code Online (Sandbox Code Playgroud)
我们可以依靠goroutine来完成其工作吗?