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. プログラミング

    Node.jsでCSVファイル内のダブルクオートで囲まれたカラム内のカンマを除去する

    こんにちは、エクスチュアCTOの権です。いろんなデータを扱う業…

  2. Google BigQuery

    Google Apps Scriptを使ってスプレッドシートからBigQueryのテーブルを更新する…

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

  3. Cloud Dataproc

    BigQueryテーブルをAVRO形式でエクスポートしてHiveで扱う

    こんにちは、エクスチュアCTOの権です。今日も普段あまり使わな…

  4. Cloud Dataflow

    データアナリスト/データエンジニア向けNext19まとめ

    こんにちは、エクスチュア渡部です。2019/4/9-4/11に行わ…

  5. Adobe Analytics

    Adobe AnalyticsのDatafeedをBigQueryのColumn-based Tim…

    こんにちは、エクスチュアCTOの権です。今回はBigQuery…

  6. Google Cloud Platform

    GoogleNext 2019レポート:初日目

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

最近の記事

  1. ObservePoint TagDebuggerでページに…
  2. Databricks Community Editionを使…
  3. ObservePoint:タグ管理の救世主!サイト監査ツール…
  4. Zapier(ザピエル)経由でSansanで取り込んだ名刺を…
  5. Databricksを始める前に覚えておきたいScalaプロ…
  1. Adobe Experience Cloud

    Adobe Marketing Cloud:サインインで問題が起きたときの対処法…
  2. ObservePoint

    ObservePoint:タグ管理の救世主!サイト監査ツールのご紹介
  3. Google BigQuery

    BigQuery BI Engine解説
  4. Adobe Analytics

    Adobe Analytics: BigQuery+Lookerでアトリビューシ…
  5. Salesforce

    Zapier(ザピエル)経由でSansanで取り込んだ名刺をSalesforce…
PAGE TOP