Я не могу заставить очередь задач appengine принять любой контекст, который я к ней добавляю:
import (
"context"
"google.golang.org/appengine"
"google.golang.org/appengine/taskqueue"
)
/* snip */
ctx:= context.Background()
task := taskqueue.NewPOSTTask("/b/mytask", params)
_, err = taskqueue.Add(ctx, task, "")
if err != nil {
return fmt.Errorf("adding background task with path %s: %v", task.Path, err)
}
Я вызываю appengine.Main () в моем основном main.go функционале, как указано Документы по миграции go111 (но эта строка отсутствует в Документах по миграции go112 , поэтому я не уверен, что это необходимо).
Я пробовал:
context.Background()
request.Context()
appengine.NewContext(r)
appengine.BackgroundContext()
context.TODO()
Все результаты приводят к ошибке:
не контекст App Engine
за исключением appengine.BackgroundContext()
, который получает:
сервисный мост HTTPне удалось: сообщение http://appengine.googleapis.internal:10001/rpc_http: набрать tcp 169.254.169.253:10001: тайм-аут ввода-вывода