2017-08-10 8 views
1

Google Cloudに複数のマイクロサービスを持つアプリを導入しています。そのうちの1つについては、プッシュキューを使用したいと考えています。次のように私は私のqueue.yamlファイルを設定した:Google Cloudにプッシュキューを展開する

queue: 
- name: equeue 
    rate: 10/s 
    retry_parameters: 
    task_retry_limit: 1 
    task_age_limit: 2d 

私はちょうどそれが必要として、SDKおよびキューが正常に動作しているスピンアップ。しかし、私はGoogle Cloud上の自分のアプリに次のコードを使ってコードを送ります:

gcloud app deploy --project=<projectname> --promote --stop-previous-version 

コードはすべて正しく読み込まれますが、キューは決して作成されません。私は次のように私のコードからエラーを取得しています:

API error 1 (taskqueue: UNKNOWN_QUEUE) 

をそして、私はhttps://console.cloud.google.com/appengine/taskqueuesに、コンソールで見たときに、キューが作成されていません。

私はドキュメントを読んでいます。私がする必要があるのは、queue.yamlファイルを作成してアプリケーションをデプロイすることだけです(古いバージョンのSDK)それが助け場合

が、ここで私はローカルで実行しているコンポーネントです:。

Google Cloud SDK 164.0.0 
app-engine-go 
app-engine-python 1.9.57 
bq 2.0.24 
core 2017.07.25 
gcloud 
gsutil 4.27 

ありがとう! Dan

答えて

1

queue.yamlは、サービス固有の設定ファイルではなく、アプリケーションレベルの設定ファイルです。単一のサービスアプリの場合にdefaultサービスかもしれないを展開しながら、マルチサービス・アプリケーションの場合に保証されていないこれらのアプリケーションレベルのコンフィグの一つ以上を更新Why do I need to deploy a "default" app before I can deploy multiple services in GCP?

に(わずかに関連する)を参照。これらの設定のそれぞれには、アプリのサービスのいずれかを更新することなく、および/または更新せずに実行できる個々の専用の配備方法も付属しています。特定のデプロイメントでqueue.yamlについては

gcloud app deployを使用して行うことができます。

gcloud app deploy [...] queues.yaml 

か、あなたはappcfg.py update_queues使用して、GAE SDKを使用している場合:このため

appcfg.py update_queues -A <app_id> 
+0

感謝を。私はqueue.yamlファイルをデフォルトのサービスに移動しようとしましたが、動作しませんでした。しかし、gcloud deploy [...] queues.yamlコマンドを試してみました。サービスのディレクトリにqueue.yamlファイルのコピーを保持する必要があるだけで問題になるか、SDKで機能しません。私は、なぜ他のすべてのようにコンソールを介してセットアップをさせるのではなく、このようにGoogleがキューを作ったのだろうか?とにかく、あなたの助けに感謝します。 – Dan

+0

ファイルをsym-linkして、SDKを幸せにすることもできます。例をhttps://stackoverflow.com/questions/34110178/can-a-default-service-module-in-a-google-app-engine-app-be-a-sibling-of-a-non- de/34111170#34111170 –

+0

コンソール駆動型の設定は、自動化には不向き、バージョン管理は不可能、StackOverflowでの助けを借りる悪夢など:) –

関連する問題