この記事は、毎日・毎週動くはずの自動処理(バックアップ、データの取り込み、表の作成など)を仕事で使っている事業者の方に向けて書いています。
「成功」と出るのに、記録は ERROR
自動処理が「成功」と表示していても、中身が成功したとは限りません。どういうときにそうなるのかを、模擬データで作って確かめました(実際の業務のファイルや記録は使っていません)。
作ったのは、よくある形のバックアップです。
- 写す元: 模擬の書類 20 個が入ったフォルダ。その中に、行き先が消えた「つなぎ先」を 1 つだけ混ぜました(フォルダを移したあとによく残るものです)
- 写す仕組み: Windows の標準の写す道具(robocopy)で、別のフォルダへ丸ごと写す
- 終わり方: 写す道具がどう終わっても、最後に「成功(0)」を返す作り
3 回動かした結果です。
- 写した先には、書類が 20 個とも写っていました
- 記録ファイルには、3 回とも ERROR と書かれました(写せない「つなぎ先」が 1 つ残るため)
- 仕組みが返した結果は、3 回とも「成功(0)」でした
自動処理を起動する Windows の仕組み(タスクスケジューラ)が画面に出す「結果」は、この返した値です。つまり画面は毎日「成功」、記録の中身は毎日 ERROR、という状態が、エラーの画面も通知も出ないまま続きます。
この模擬では書類は写っていました。それでも、写せていないものがもし大事なファイルだったら、気づくのは戻そうとしたときになります。
直し方も確かめました。失敗したら「失敗(1)」を返す形にすると、同じ条件で結果が 1 になりました。行き先の消えた「つなぎ先」を片づけると、記録は OK に変わりました。
止まり方は 2 種類ある
止まり方は 2 種類あります。
- 記録はあるが、中身が失敗(上の模擬)。「成功」の表示だけを見ていると気づきません
- 記録そのものが無い。パソコンが止まっていた日や、記録を書く前に止まった日です。当方の毎晩の自動更新では、画面に「失敗」と出ているのに記録ファイルが 0 行、ということがありました。記録の中からは見えません。「あるはずの日に無い」ことでしか分かりません
「成功」の表示でなく、記録を日付で並べる
確かめ方はシンプルです。
- 実行の記録から、日時と結果の部分だけを取り出す
- 成功の印と失敗の印を決める(OK・完了・結果 0/ERROR・失敗など)
- 日付で並べて、日ごとに分ける。「成功を確かめられた」「成功と失敗の両方の印がある」「失敗の印だけ」「記録を確かめられない」の 4 つです
すると「最後に成功を確かめられた日」が分かります。失敗のあとやり直して成功した日のように、同じ日に失敗と成功の両方がある日は「両方」として残します。
本家の読み物の下に、記録を貼ると日ごとに分ける画面を置きました。ブラウザの中だけで並べ、どこにも送りません。生の記録を丸ごと貼るのは避けてください。URL や鍵が混ざることがあります。
並べて分かるのは「成功を確かめられない日」までです。止まった原因と、止まったら気づける仕組みは、別の作業です。
全文は本家に
自分でできる確認 3 つ、頼むときに決める 2 つ(直すこと・止まったら気づけること)、依頼の前に用意するものは、本家の記事にまとめています。
Sumitsuke は、事業者の方(法人・個人事業主)から、業務の自動化を納品型で受けています。止まったら気づける形にする作業も含みます。