自動化が「いつの間にか止まっていた」を防ぐ:定期実行・ログ・エラー通知の運用設計

記事
IT・テクノロジー
自動化は「作って動いた」で終わりではありません。数日前から止まっていたことに、締め切り直前で気づく。定期実行の処理には、そういう事故が起こりがちです。この記事では、自動化を止まりにくくし、止まってもすぐ気づいて再開できるようにするための運用設計を、チェックリスト付きでまとめます。

自動化が止まる原因は、処理より「環境」に多い


作り込んだ処理そのもののバグより、実行環境の変化で止まるケースが目立ちます。代表的なのは次の3つです。

再起動とWindows更新

更新後の再起動でタスクが起動しない設定になっていた、起動時に必要なソフトが立ち上がっていなかった、という止まり方です。「PCを再起動しても自動で再開するか」は、作る段階で決めておく項目です。

ログイン切れ・セッション切れ

ブラウザ操作型の自動化は、ログイン状態が前提になっていることが多くあります。セッションの期限切れ、パスワード変更、2段階認証の要求で止まります。なお、2段階認証やCAPTCHAを回避するような作りは、サービスの規約に反するおそれがあり、当方でも対応しません。対象サービスの規約と、APIなど正規の連携手段を確認するのが先です。

スリープ・電源・ネットワーク

夜間に動かすつもりがPCがスリープしていた、ノートPCの電源設定で処理が止まった、無線が切れていた、という物理的な原因も少なくありません。

例を2つ挙げます(説明用の例です)。毎朝7時に売上レポートを集計する処理が止まった。1つ目は、再起動のあとサインインするまでタスクが動かない設定だったケース。2つ目は、ブラウザのログインが切れ、処理がログイン画面の前で待ち続けていたケース。どちらも処理のバグではなく、環境側の設計漏れです。

どこで動かすかを先に決める


【実行場所:手元の作業用PC】
向いている場合:まず試したい。実行時に人が見ていられる
注意点:再起動・スリープ・他の作業の影響を受けやすい

【実行場所:常時稼働の専用PC】
向いている場合:毎日決まった時刻に動かしたい
注意点:電源と更新の管理が必要になる

【実行場所:クラウド・ホスト型】
向いている場合:手元のPCを占有せず安定稼働させたい
注意点:月額の費用がかかる。扱うデータの置き場所の確認が必要


Windowsのタスクスケジューラなどで定時実行する場合は、「サインインしていなくても実行するか」「スリープを解除するか」「失敗したとき再実行するか」という観点で設定を確認します。設定項目の名前や挙動はWindowsのバージョンや権限によって変わるため、導入時に実環境で試すのが確実です。また、Power Automate Desktopのようなツールで人がいない状態の実行(無人実行)を行うには、ライセンスやWindowsのサインイン状態、画面の状態などの条件が公式に案内されています(執筆時点)。導入前に最新の公式情報を確認してください。

「気づける自動化」の3点セット


ログ:いつ・何を・何件、成功したか

テキストファイル1枚でかまいません。実行日時、処理した件数、成功か失敗か、失敗ならその内容。これがあるだけで、「いつから止まっていたか」「どこで失敗したか」の調査が格段に楽になります。

エラー通知:失敗したときだけ知らせる

失敗したときにメールなどで知らせます。ポイントは「失敗したときだけ」にすること。毎回の成功まで通知すると、すぐに読まれなくなり、肝心の失敗通知も埋もれます。

死活確認:「動いていない」ことに気づく仕組み

エラー通知は「動いた上で失敗した」ときにしか飛びません。そもそも起動しなかった場合に気づく仕組みが、別に必要です。例えば、週1回の成功サマリーを定例にして、「サマリーが来なければ何かおかしい」と判断できるようにする方法があります。

壊れにくくする3つの小さな設計


・リトライ:一時的な通信エラーなどは、回数と間隔を決めて再試行する
・二重起動防止:前回の処理が終わる前に、次の実行が始まらないようにする
・再実行しても壊れない作り:途中で失敗しても、もう一度実行すれば正しい状態になる(同じデータを二重に登録しない)ようにしておく

この3つは後から足そうとすると作り直しになりやすく、最初に要件へ入れておくのが堅実です。

運用設計チェックリスト10項目


□ どこで実行するか(手元PC・専用PC・クラウド)を決めたか
□ PCの再起動後、自動で再開するか。しないなら手動の手順があるか
□ ログはどこに、何が残るか
□ 失敗したとき、誰に、どうやって届くか
□ 「通知が来ないこと」に気づく方法があるか
□ 一時的なエラーのリトライ回数と間隔を決めたか
□ 二重起動を防ぐ仕組みがあるか
□ ログイン切れ・認証切れが起きたときの扱いを決めたか
□ 対象サイトやツールの仕様変更が起きたら、誰が直すか決めたか
□ 手動で再開する手順が文書になっているか

まとめ


自動化を業務に組み込める条件は、「実行環境」「ログ」「通知」「再開手順」の4点がそろっていることです。これから外注する方は、「処理を作ってもらう」ことに加えて、この4点を要件に足してください。すでに動いているものが止まりがちな場合も、直すべき場所はたいてい処理ではなく運用側にあります。

関連記事


プロフィールのブログ一覧からお読みいただけます。
・「在庫・価格チェックの自動化:依頼する前に決めておく10項目」

止まりがちな自動化の立て直しも、運用要件まで含めたこれからの自動化の相談も、当方のサービス「EC業務の自動化を相談・設計します」で承っています。3,000円で、30分のビデオチャットまたはテキストにより、可否診断・要件整理・概算をお渡しします(制作は別見積りです)。ご相談の際、パスワードやログイン情報は書かないようお願いします。






サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す