2

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でバックエンドコールをスケジュールする正しい方法は何ですか?

4

2 に答える 2

2

関数を使用しappengine.BackendHostnameて、バックエンドのホスト名を取得します。これは、タスクの Host ヘッダーとして使用できるはずです。

于 2012-07-26T06:57:17.560 に答える