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 Cloud Platform

    Vertex AI Embeddings for Text によるテキストエンベディングをやってみた…

    こんにちは、石原と申します。自然言語処理(NLP)は近年のA…

  2. Google BigQuery

    Big QueryでWindow関数を用いて、累積和を計算する

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

  3. Google BigQuery

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

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

  4. Google Analytics

    Google Analytics: ユニバーサルアナリティクスの拡張Eコマース用dataLayerを…

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

  5. Adobe Analytics

    Adobe Analytics: データフィードをGoogle BigQueryのテーブルにロードす…

    ※2019年9月4日追記この記事は情報が古いので、新しい記事を書き…

  6. Adobe Analytics

    Adobe AEP SDKをTypeScriptで開発したReactNativeアプリに実装する

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

最近の記事

  1. 回帰分析はかく語りき Part3 ロジスティック回帰
  2. GCSへのSnowflake Open Catalogによる…
  3. VPC Service Controlsで「NO_MATCH…
  4. モダンデータスタックなワークフローオーケストレーションツール…
  5. Streamlit in Snowflakeによるダッシュボ…
  1. Mouseflow

    mouseflowのプライバシー設定はシンプルで直感的なVisual Priva…
  2. ヒートマップ

    【Tips】ヒートマップ機能について②~ムーブメント、アテンション編~
  3. Excel

    コホート分析(Cohort Analysis)って何?〜Tableau/GA/E…
  4. Adobe Analytics

    Adobe AnalyticsからDWHレポートをGoogle Cloud St…
  5. Generative AI

    Snowflake の Copilot が優秀すぎる件について
PAGE TOP