【実録 第16話】朝起きたら、自動化が止まっていた話

【実録 第16話】朝起きたら、自動化が止まっていた話

第15話まで、このメディアの記事生成・アクセスログ解析・トレンド調査を、深夜に自動で動かす仕組みを整えてきました。設定が終わったあとは、毎朝「昨夜何が起きたか」をNavに確認するだけ。そんな運用が軌道に乗りはじめた頃のことです。

4月から5月にかけて、3回止まりました。。。

毎回同じエラーコードが出ましたが、原因は毎回違いました。今回は、自動化が「動いている」と「動き続ける」は別の話だと気づくまでの3ヶ月を書きます。

Macをアップデートしたら、翌朝から止まっていました

4月13日、Macのシステムアップデートを実行しました。よくある定期更新で、特に気にしていませんでした。

翌朝、いつも通り朝のブリーフィングを確認しようとして、おかしいことに気づきます。深夜5時に動いているはずの記事生成が、動いていません。6時のトレンド調査も、7時半のログ解析も、何も動いていませんでした。

Navに確認を頼みました。

今朝、自動実行が全部止まってるみたいなんだけど
Nav ログを確認します。昨日のアップデート後から止まっているようです。エラーの種類からすると、Macのアップデートで自動実行の設定ファイルに対するチェックが厳しくなったことが原因だと思われます
どういうこと?
Nav Macには「この設定ファイルは誰が作ったものか」を確認する仕組みがあります。アップデート前は管理者権限で作ったファイルでも問題なく動いていましたが、アップデート後はそのファイルを「ログイン時に自動で読み込む対象」から外すようになったようです。手動で実行すると動くのに、自動実行だけが拒否されている状態です
直せる?
Nav 直せます。設定ファイルの「所有者」をオーナーのアカウントに変更するコマンドを実行していただければ解決します。対象は4件ありますので、順番に対応します

ログのタイムスタンプを照合すると、4月1日から13日まではきちんと自動実行されていて、14日以降は手動実行の記録しかありませんでした。止まったのは間違いなくアップデートのタイミングでした。

コマンドを1行実行して、設定ファイルの所有者を変更しました。動作確認を終えて、翌朝の自動実行が再開したのを確認しました。

エラーコードは同じ。でも原因は違いました

このとき表示されていたエラーコードは「78番」でした。「設定に問題がある」という意味のコードで、Macの自動実行の仕組みが「この設定ファイルは読み込めない」と判断したときに返ってくる番号です。

原因がわかって直した、と思っていました。

この78番が、5月にもう2回出ることになります。同じ番号ですが、原因はまったく別のことでした。

再起動したら、また止まっていました

5月18日、別の作業のためにMacを再起動しました。特に問題はないはずでした。

翌朝のブリーフィングで、また気づきます。記事生成・トレンド調査・ログ解析、3つのジョブが前日から動いていませんでした。エラーコードは4月と同じ78番です。

また止まってる。エラーコードは先月と同じなんだけど
Nav 確認します。…今回は原因が違います。4月は設定ファイルの所有者の問題でしたが、今回はPythonに「作業場所」を教える設定が抜けていたことが原因です
作業場所?
Nav Pythonはスクリプトを動かすとき、インストール済みのライブラリがどこにあるかを特定の変数で探します。ターミナルから手動で起動する場合は自動でセットされますが、Macの自動実行の仕組みから起動する場合は、明示的に設定してあげないと見つけられないんです。設定がないまま起動して、10秒以内に止まってしまっていました
Nav 設定ファイル全件に必要な情報を明記して、再ロードすれば解決します
わかった。やってみて

手動で実行すると問題なく動くのに、自動実行だけ失敗する。4月と同じ症状で、原因だけが違いました。全件修正して再起動し、動作確認を取りました。解決しました。…と思いました。

直そうとした操作が、別の場所を壊していました

翌5月21日、朝のブリーフィングでNavが報告を持ってきました。

Nav 6つのジョブのうち、2件が再び停止しています。確認したところ、昨日解消したはずの「所有者が管理者になってしまう」問題が再発しています
また? 昨日直したばかりじゃないの
Nav 申し訳ありません。昨日の修正作業で管理者権限を使ったことで、その影響が別の2件の設定ファイルに及んでいました。直す操作が、別の場所の所有者を管理者に戻してしまっていたんです
直しながら壊してたってこと?
Nav そうなります。今回は全6件をまとめて確認し直して修正します。今後は管理者権限を使う操作の後に、影響範囲を必ず確認するようにします
もう同じことが起きないようにしてほしい
Nav わかりました。設定ファイル全件を再ロードして、明朝5時の自動実行で確認します

設定ファイルの所有者を全6件まとめて修正して、再ロードしました。翌朝5時から、ようやく全ジョブが正常に動き始めました。

無人で動かすことと、無人で壊れることは、セットでした

3回の停止を振り返ると、共通していることがあります。

止まっていても、気づくのは翌朝のブリーフィングのタイミングだということです。深夜に無人で動かしているということは、深夜に無人で止まっても誰も気づかないということでした。

自動化を「組んで終わり」にはできないということも、改めて実感しました。OSのアップデート・Macの再起動・修正作業の副作用——どれも「まさかこれで止まるとは」という出来事でした。

結局、毎朝確認しないといけないじゃないですか
Nav そうですね。「動いているかどうかの確認」をなくすことはできませんでした。ただ、確認だけで済んでいるのは前進だとも思っています。止まった3回とも、朝のブリーフィングで気づいてその日のうちに直せています。問題の発見が早いこと自体が、自動化の成果だと思っています
まあ、そう言われればそうか
Nav 自動化の前は、記事を1本書くのに数時間かかっていました。今は止まっていたとしても、気づいて再起動すれば深夜のうちに終わっています。「確認しなくていい」ではなく「確認するだけでいい」になりました

自動化は「作れば終わり」ではなく、「動き続けることを確認し続ける」ものでした。朝の確認がなくなったわけではありません。ただ、確認する内容が「作業」から「チェック」に変わりました。それで十分だと、今は思っています。

まとめ

  • 自動化が止まっても気づくのは翌朝。深夜に無人で動かすことと、無人で壊れることはセットだった
  • 同じエラーコードでも、原因は毎回違った。前回の直し方がそのまま通じるとは限らない
  • 直す操作が別の場所に影響することがある。修正後は影響範囲を確認する習慣が必要だった
  • 自動化は「組んで終わり」ではなく「動き続けることを確認し続けるもの」だった

 
 
 

AIエージェントの最前線
毎朝1分でキャッチアップ。

経営・事業担当者向け。国内外の最新動向をPOINT形式で毎朝お届けします。