Translate

2021年6月30日水曜日

富岳上で実行したジョブの開始・終了・ステータスをSlackで受ける

富岳上でジョブを実行する際に pjsub コマンドを使います。


pjsub には様々なオプションがあるのですが、このなかに指定イベントごとにメールを送信するオプションがあります。


オプションの詳細は man pjsub を参照してください。たくさんあります。



これと SlackアプリのEmailを組み合わせれば、メールではなく直接Slackへのメッセージとして受け取ることができます。

Slack アプリ Email
https://slack.com/apps/A0F81496D-email?tab=more_info
 

Slackアプリサイトにてインストールボタンを押して、どのチャネルへ送信するかを指定すると、送信先メールアドレス(ex. hogehoge@workspace_name.slack.com)を受け取ることができます。

pjsub の引数に -m b,e,s --maillist "hogehoge@workspace_name.slack.com" と指定すればOK。

引数にいちいち指定するのが面倒くさい場合は、ジョブスクリプト上部のPJMオプション指定箇所に、以下のように指定すればOKです。

#!/bin/bash
:
#PJM -m b,e,s
#PJM --mail-list "
hogehoge@workspace_name.slack.com"
#PJM -S
:

-mの後ろがメール送信が発生するイベントを指定しています。ここでは開始、終了、ステータスを指定していますが、ほかのイベントについては man pjsub-m の箇所を読んでください(-Sは、ステータスを表示させるために必要)。

p.s.

実行ジョブ監視にログインノード上で watch pjstat -E している人も多いと思うのですが、おそらく私のネットワーク環境の問題だと思いますが、SSH接続がたまにぷつんと切れてしまうので..メールへ送ってましたが..ジョブスクリプト開発中はやたらめったらpjsubするので、ほぼスパムメール状態に..

 

あと、たくさんの種類のジョブを投げる人はジョブ名をつけたほうがよいとおもいます。

pjコマンドは宣言的な設計になっており、APIもあるのでIPリーチャブルな環境にあるCIサーバ(BLUE WATERのWebinerで紹介していたjenkinsみたいなやつ、スパコンの場合はslumというのがあるそうですが..よく知りません)があれば、CI管理画面上で完結できるので、たぶんそちらが正解なのかもしれませんが..


0 件のコメント:

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...