とんちゃん の ぐだぐだえびでい

バックエンドエンジニアのとんちゃんが、ぐだぐだな毎日で培った技術情報を綴るブログです。

To Loveる対応

先日あったトラブル対応の振り返りでござんす。

<内容>
先週稼働のバッチJOBが
単純にスケジュールされてなくて動かなかったとのご連絡。

今日の夜中に稼働させたいんだけど、
処理基準日を参照している処理があるから、どうしましょうか
とのことでした。
(処理基準日はDBで管理してる)

<考えられる対応策として>
①処理基準日を一瞬だけ本来稼働されていた状態に戻す
②各PGM、JOB(実体はshell)の、処理基準日を取得して格納している変数に日付をハードコーディング

①のが楽そうな気がしました。
だって、処理の直前にUPDATE文1発でいいんだもん。
※夜中対応だったから、次の日明け休とれそうだしwww

だから、①を提案したところ・・・

「処理基準日を変えて本当に問題ないか全PGMを調査してほしい」

と言われてしまい、
泣く泣く②で何とかならないか調査を始めましたとさ。

<調査>

  • 観点1:動かなかった処理はなんだ?
  1. JOBの管理資料から、対象のNETに含まれるJOBの洗い出し。
  2. そのJOB内で実行しているPGMの洗い出し。
  • 観点2:処理基準日を参照している資材はどれだ?
  1. 全PGMから、処理基準日を参照してるPGMを洗い出す
  2. JOB(実体はshell)にて直に処理基準日を参照している
  • 観点3:動かなかった処理で処理基準日を参照している資材はどれだ?
  1. 観点1の結果で、観点2にも登場するものをExcelで突き合わせ。

<な、なんと・・・>
shell3本修正だけでなんとかなりました。
素晴らしい設計!

<修正&テスト>
修正はちょろだったのですが、
テストがちょっとかかりました。。

まさか、年齢算出の処理で月日を使ってないなんて・・・

<そして、大団円>
結局、検証は翌営でってことになり
明け休ももらえなかったけど、、、
処理も問題なく動き、大丈夫でした!

やったったぜ!


<反省点>
調査観点1-1で、JOB資料から見ちゃったのはちょっと時間ロスでした。。
結局「JOB資料=実行資材だよね?」っていう確認が必要になってしまいました。

<次へ生かせそうなこと>
上記の作業を、最初の方に洗い出して
それを確認してもらったっていうのが一人でできたことは、
ちょっぴり自信につながりました。

落ち着いて対処する&わかんないことは聞いて、周りの人を巻き込んじゃう
これが大事だなぁと思いました。

では、そんな感じで〜
お疲れ様でした。