GoのGoogleAppEngineでタスクキューをバックエンドにスケジュールする方法に関する情報はほとんどありません。TQのリファレンスでは、次のように読むことができます。
// Additional HTTP headers to pass at the task's execution time.
// To schedule the task to be run with an alternate app version
// or backend, set the "Host" header.
Header http.Header
しかし、実際に「ホスト」を何に設定するかについての説明はありません。バックエンドの概要では、同様に次のように読むことができます。
プライベートバックエンドには、特別な設定をしなくても、アプリケーション管理者、アプリケーションのインスタンス、およびApp Engine APIとサービス(タスクキュータスクやCronジョブなど)からアクセスできます。
しかし、繰り返しになりますが、説明はありません。
「Host」の値をバックエンドの名前に設定しようとしましたが、タスクは通常のアプリケーションで実行されます。
t := taskqueue.NewPOSTTask("/", map[string][]string{"key": {key}})
t.Header.Add("Host", "backend")
if _, err := taskqueue.Add(c, t, ""); err != nil {
return
}
GAE Goでバックエンドコールをスケジュールする正しい方法は何ですか?