使用Golang时,Apex Process在完成请求之前退出

All the answers for something like this are in Javascript, and I'm not sure if it applies in Go.

I've done this

func main() {
  db, err := sql.Open("mysql", "db_details")
  err = db.Ping()
  if err != nil {
    fmt.Println("Failed to prepare connection to database")
    // log.Fatal("Error:", err.Error())
  }
    apex.HandleFunc(func(event json.RawMessage, ctx *apex.Context) (interface{}, error) {
      fmt.Println(ctx)
      return map[string]string{"hello": "world"}, nil
    })
}

So I'm trying to hit my Amazon RDS MySql db using golang's sql driver.

I get this error

Error: function response: Response Id: <some_id> Process exited before completing request

From looking around, there are two causes - 1. I need Go's equivalent of context.done, or 2. I need to raise the timeout.

As I'm using Apex, I raised the timeout to be 300s, which is the maximum. No luck there.

I then tried going through the Apex code to see if there was a Context.Done defined or used anywhere - there isn't.

How do I get around this?