寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

gcloud コマンドで TaskQueue(TQ)/Cloud Tasksを操作する

f:id:chidakiyo:20190814093728j:plain

皆さんTQつかってますか。
ちゃんと使うとめちゃくちゃ便利なTQ(Cloud Tasks)ですが、コマンドでサクッと作ったり消したりしたい(特に消したい)というのがあったので記事にしました。

TQを作成する

以下のようなコマンドでTQを作成します。

gcloud --project ${PROJECT_ID} beta tasks queues create hoge-test

--project ${PROJECT_ID} は gcloud コマンドに対して事前に gcloud config set project ${PROJECT_ID} などを実施している方は抜いても実行可能です。

TQを操作するAPIが有効化されていないプロジェクトでは初回以下のような表示が出ますので y と押してエンター押し有効化しましょう。

API [cloudtasks.googleapis.com] not enabled on project [000000000000].
 Would you like to enable and retry (this will take a few minutes)?
(y/N)?  

(有効化していない場合には有効化完了のログが出力された後に) Queue作成が Created queue [QUEUE_NAME]. のようなログとともに完了します。

UIからQueueの作成を確認

Cloud Tasks のWebUIから作成したTQが確認できます。

f:id:chidakiyo:20190814093532p:plain

コマンドからTQの作成を確認

以下のようなコマンドを実行します

gcloud --project ${PROJECT_ID} beta tasks queues list

結果は以下のように表示されます

QUEUE_NAME  STATE    MAX_NUM_OF_TASKS  MAX_RATE (/sec)  MAX_ATTEMPTS
hoge-test   RUNNING  1000              500.0            100

TQを削除する

TQの削除もコマンドから実行できます。
GAEの queue.yaml で管理していると削除したTQが残りがちなのでそういう場合にはコマンドで消してしまいましょう。

以下のようなコマンドを実行します。

gcloud --project ${PROJECT_ID} beta tasks queues delete hoge-test

削除の際には y/n を入力する必要があります
--quiet オプションを gcloud コマンドのオプションとしてつけることで y/n 入力を省くことができます。

create-app-engine-queue コマンドってなんやねん

createの他に create-app-engine-queue というオプションもあります。
作成したものは見かけ上(WebUI/commandともに)違いがなさそうですが、appengine用のTQを作成する際にはこちらのコマンドを使ったほうが良いのかな [要出典]

まとめ

TQを作成する際のオプションはいろいろ細かくあるんですが、
今回はひとまずシンプルなものを作成して、削除することがコマンドでできるよ、という記事でした。

ではでは。