Google Cloud Platform

Google Compute Engine: 一定時間経過したらタスクを強制終了する

こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。

今回はGCEだけではなくてLinux全般で使える技です。

日々cronjobをGCE上で実行しているのですが、たまにものすごく時間が掛かってしまうdataprocの処理が出てきました。
1時間経っても終了しない場合は強制終了させる必要があったので、timeoutコマンドでタスクを終了させてからgcloudコマンドでdataprocのジョブをkillする事にしました。

で、これを実装したbashスクリプトはこのようになりました。

#!/bin/bash

#timeoutコマンドで3600秒後にkill
timeout -sKILL 3600 gcloud dataproc jobs submit spark --cluster mycluster-1 --region us-west1 --class com.foobar.hoge --jars gs://my-bucket-1/hoge.jar

#timeoutコマンドで終了したタスクは終了コードが124〜137になるのでチェック
if [ $? -ge 124 ]; then
    
    #実行中のジョブIDをlistから取得
    JOBID=`gcloud dataproc jobs list --region us-west1 --cluster mycluster-1 --state-filter active|grep RUNNING|cut -f 1 -d ' '`

    echo "TIMEOUT! killing job: ${JOBID}"
    
    #yesコマンドでY/nの質問に自動回答
    yes | gcloud dataproc jobs kill --region us-west1 ${JOBID}

fi

他にも、時間の掛かるタスクを強制終了したらslackに書き込むなど、色々応用出来るので即席監視ツールっぽいのが出来上がりますね。

弊社ではGoogle Cloud Platformを使ったデーバ分析基盤の構築支援業務を行っています。
そして、このくらいのbashスクリプトをササっと書ける「Linux大好きなマーケティングテクノロジー系エンジニア」を募集しております。
お問い合わせはこちらからどうぞ

ブログへの記事リクエストはこちらまで

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Google BigQuery

    Tableau : BigQueryでLOD計算が使えない場合の対処法

    こんにちは、エクスチュアの渡部です。Tableau×BigQu…

  2. Adobe Analytics

    AdobeAnalytics: スクロールで目標に到達したらカスタムリンク

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Ado…

  3. Google BigQuery

    GCPのBQMLを使ってKaggleコンペに挑んでみた(その1)

    こんにちは。エクスチュアでインターンをさせて頂いている中野智基です。…

  4. Google Analytics

    Server-side GTMのGAビーコンログをBigQueryにエクスポートして分解する

    こんにちは、エクスチュアの権泳東(權泳東/コン・ヨンドン)です。…

  5. Google Cloud Platform

    【GCP】Cloud Workflowsでデータパイプラインの構築を試してみた②実践編

    こんにちは、エクスチュアの黒岩と申します。前回の記事では、G…

  6. Google Cloud Platform

    Looker: LookerbotをGoogle Cloud Platformで動かす

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

最近の記事

  1. KARTE を使ってサイト外でも接客を
  2. 【GA4/GTM】dataLayerを活用しよう
  3. ジャーニーマップをデジタルマーケティングの視点で
  4. ChatGPT ProからClaude3 Proへ移行した話…
  5. その分析、やり方あってる?記述統計と推測統計の違い
  1. IT用語集

    エンタープライズサーチ(Enterprise Search)って何?
  2. Adobe Cloud Platform Auditor

    AdobeSummit 2020レポート: “Connecting Experi…
  3. Tableau

    Tableau:分かりやすいLOD-FIXED編
  4. Adobe Analytics

    Adobe Summit 2020レポート: Customer Journey …
  5. セッションリプレイ

    セッション・リプレイのレコーディングをローカルに保存する
PAGE TOP