・Goal
テストで作成したGAEの全サービスの全インスタンスをコマンドラインから削除・停止する。バージョン名等を指定せずに、どんどんデプロイすると稼働中のインスタンスが増える。それをコマンドラインで一気に全停止する。コンソール画面からだと、サービス毎/バージョン毎にプチプチと停止する必要があり面倒だった。。。
・How
これが基本形
~$ gcloud app instances delete [instance ID] -v [version] -s [service]
・Example
# step1 一覧で確認
~ $ gcloud app instances list
SERVICE VERSION ID VM_STATUS DEBUG_MODE
default master 00XXXXXXX N/A
test1 master 00XXXXXX1 N/A
test2 master 00686ff30 N/A
# step2 削除
~ $ gcloud app instances list | sed 1d | awk '{print $1, $2, $3}' | while read s v id; do gcloud app instances delete $id -v $v -s $s --quiet; done
Deleting the instance [default/master/00XXXXXXX].
Deleted [https://appengine.googleapis.com/v1/apps/---].
Deleting the instance [test1/master/00XXXXXX1].
Deleted [https://appengine.googleapis.com/v1/apps/---].
Deleting the instance [test2/master/00686ff30].
Deleted [https://appengine.googleapis.com/v1/apps/---].
# 説明
~ $ gcloud app instances list | \ # インスタンスのリストを出力
sed 1d | \ # 一行目をカット
awk '{print $1, $2, $3}' | \ # awk できれいにする。(この処理は不要・・・)
# 以下のハイライトの箇所で、順番に消していく。y/nを聞かれるので --quiet を追加
while read s v id; do gcloud app instances delete $id -v $v -s $s --quiet; done
Oracle Application Express Notes | Apps development Notes | Google Cloud Platform | Python | apps test | Cool Beans | English | Books
2020/02/11
2020/02/09
GCP: Cloud Tasksにおける queueの設定 (GAEの特定のserviceへリクエストを投げたい) -- GAE 2nd gen, Python3, gcloud
・背景
GAEをタスクハンドラーとして使っている。
GAE-py の2nd Genへの移行に伴い、従来のapp engine task queueは
使えなくなり、Cloud Tasksへの移行が必要。
それに伴い従来のqueue.yaml の設定も不要。
今後は、コンソールからgcloudコマンドでqueueを作ることになるとのこと。
https://cloud.google.com/tasks/docs/migrating?hl=ja
そこで、試していたのだが、GAEのデフォルトじゃなくて、特定のサービスや、
バージョンに対してのリクエストの投げ方が解らずハマる。。。
http://[project ID].appspot.com/
ではなくて例えば、
http://[service]-dot-[project ID].appspot.com/
にリクエストを投げたい。
・Goal
GAEの特定のサービスに対するqueueを作成したい。
・How
gcloud コマンドで、--routing-overrideを設定すればよい。
[As-is]
XXX@cloudshell:~$ gcloud tasks queues describe queue-sample
name: projects/[project ID]/locations/us-central1/queues/queue-sample
rateLimits:
maxBurstSize: 100
maxConcurrentDispatches: 1000
maxDispatchesPerSecond: 500.0
retryConfig:
maxAttempts: 100
maxBackoff: 3600s
maxDoublings: 16
minBackoff: 0.100s
state: RUNNING
[変更]
XXX@cloudshell:~$ gcloud tasks queues update queue-sample --routing-override=service:test
WARNING: You are managing queues with gcloud, do not use queue.yaml or queue.xml in the future. More details at: https://cloud.google.com/tasks/docs/queue-yaml.
Updated queue [queue-sample].
[To-be]
XXX@cloudshell:~$ gcloud tasks queues describe queue-sample
appEngineRoutingOverride:
host: test.[project ID].appspot.com
name: projects/[project ID]/locations/us-central1/queues/queue-sample
rateLimits:
maxBurstSize: 100
maxConcurrentDispatches: 1000
maxDispatchesPerSecond: 500.0
retryConfig:
maxAttempts: 100
maxBackoff: 3600s
maxDoublings: 16
minBackoff: 0.100s
state: RUNNING
・Thanks!!
https://cloud.google.com/sdk/gcloud/reference/tasks/queues/update#--routing-override
GAEをタスクハンドラーとして使っている。
GAE-py の2nd Genへの移行に伴い、従来のapp engine task queueは
使えなくなり、Cloud Tasksへの移行が必要。
それに伴い従来のqueue.yaml の設定も不要。
今後は、コンソールからgcloudコマンドでqueueを作ることになるとのこと。
https://cloud.google.com/tasks/docs/migrating?hl=ja
そこで、試していたのだが、GAEのデフォルトじゃなくて、特定のサービスや、
バージョンに対してのリクエストの投げ方が解らずハマる。。。
http://[project ID].appspot.com/
ではなくて例えば、
http://[service]-dot-[project ID].appspot.com/
にリクエストを投げたい。
・Goal
GAEの特定のサービスに対するqueueを作成したい。
・How
gcloud コマンドで、--routing-overrideを設定すればよい。
[As-is]
XXX@cloudshell:~$ gcloud tasks queues describe queue-sample
name: projects/[project ID]/locations/us-central1/queues/queue-sample
rateLimits:
maxBurstSize: 100
maxConcurrentDispatches: 1000
maxDispatchesPerSecond: 500.0
retryConfig:
maxAttempts: 100
maxBackoff: 3600s
maxDoublings: 16
minBackoff: 0.100s
state: RUNNING
[変更]
XXX@cloudshell:~$ gcloud tasks queues update queue-sample --routing-override=service:test
WARNING: You are managing queues with gcloud, do not use queue.yaml or queue.xml in the future. More details at: https://cloud.google.com/tasks/docs/queue-yaml.
Updated queue [queue-sample].
[To-be]
XXX@cloudshell:~$ gcloud tasks queues describe queue-sample
appEngineRoutingOverride:
host: test.[project ID].appspot.com
name: projects/[project ID]/locations/us-central1/queues/queue-sample
rateLimits:
maxBurstSize: 100
maxConcurrentDispatches: 1000
maxDispatchesPerSecond: 500.0
retryConfig:
maxAttempts: 100
maxBackoff: 3600s
maxDoublings: 16
minBackoff: 0.100s
state: RUNNING
・Thanks!!
https://cloud.google.com/sdk/gcloud/reference/tasks/queues/update#--routing-override
ラベル:
gcloud,
GCP,
Google App Engine,
Python3
登録:
投稿 (Atom)