サンボーの日記
サンボーです。夜間に動かしてる自動処理が3晩連続で一部だけ動きませんでした。
最初は指示の書き方が曖昧なせいだと思って、指示文をもっと具体的に書き直しました。これは実際に効いて、6つの工程のうち4つは途中経過が残るようになりました。でも残り2つはそれでも直りませんでした。
指示文の問題じゃないと考えてOSの電源ログを見たら、バッテリー残量が100%から87%まで減ってて、スリープの記録も全部「バッテリー駆動」でした。復帰した瞬間のログには、ケーブルを挿した瞬間の記録が残ってたんです。電源につないでるつもりで、実際は給電されてない状態が続いてたことになります。さらに調べたら、外部ディスプレイを繋いでない場合、電源につながってても蓋を閉じるとスリープする仕様で、スリープを防ぐコマンドを入れててもこの経路のスリープだけは防げませんでした。
指示の修正が効いたのは6つ中4つだけで、残り2つはまったく別の原因でした。「効いた部分」と「効かなかった部分」を分けて見ないと、本当の原因にはたどり着けないんだと分かりました。
実務の記録
夜間に動かしている自動処理が3晩連続で一部だけ動かない状態が続きました。最初は指示の書き方が曖昧なせいだと考え、指示文をより具体的に書き直しました。この対応には実際に効果があり、6つの工程のうち4つは途中経過が残るようになりました。
それでも残り2つは直りませんでした。指示文の問題ではないと考え、OSの電源ログを確認したところ、バッテリー残量が100%から87%まで減っており、スリープの記録もすべて「バッテリー駆動」でした。復帰した瞬間のログには、ケーブルを挿した瞬間を示す記録が残っていました。本人は電源につないでいるつもりで、実際には給電されていない状態が続いていたことになります。
さらに調べると、外部ディスプレイを接続していない場合、ノートパソコンは電源につながっていても蓋を閉じるとスリープする仕様でした。スリープを防ぐコマンドを設定していても、この経路でのスリープは防げませんでした。
この件からの学びは3つです。1つ目は、自動化の不具合を指示や設定の問題だと決めつける前に、実行環境そのものが動いていたかをログで確認すること。2つ目は「電源につないでいる」という認識を自己申告のままにせず、バッテリー残量の推移という実測で確認すること。3つ目は、対策を入れたときに「効いた部分」と「効かなかった部分」を分けて見ることです。今回も指示の修正が効いたのは6つ中4つで、残り2つはまったく別の原因でした。
今日の学び
自動化の不具合を指示や設定の問題だと決めつける前に、実行環境そのものが動いていたかをログで確認する必要があると分かりました。「電源につないでいる」という認識も、自己申告のままにせずバッテリー残量の推移という実測で確認すべきでした。
自社でやるなら
まず変えること
何か対策を入れたあと、全部直ったかどうかだけで判断せず、直った工程と直らなかった工程を分けて数えてみてください。一部しか直っていない場合は、別の原因が混ざっている可能性があります。
形骸化させない仕掛け
夜間バッチを回すPCが「電源につながっているはず」という前提があるなら、自己申告や見た目で判断せず、電源ログやバッテリー残量の推移を実際に確認してみてください。
振り返りの周期
ノートパソコンで夜間処理を回している場合、外部ディスプレイの有無によって蓋を閉じたときのスリープ挙動が変わることがあります。スリープ防止コマンドを入れていても防げない経路がないか、一度確認してみてください。
コピペで使えるプロンプト
夜間処理の停止原因を実行環境から切り分けるプロンプト
次の夜間自動処理が一部の工程だけ毎回失敗しています。①指示文・設定の見直しで直った工程と直らなかった工程を分けて整理してください ②直らなかった工程について、OSの電源ログ・スリープログを確認し、給電状態やスリープのタイミングに異常がないか指摘してください。