自動投稿が止まっているのに気づけない?実運用で多かった落とし穴3つ

自動投稿が止まっているのに気づけない?実運用で多かった落とし穴3つ

記事
IT・テクノロジー
記事の自動投稿を仕組みにして、約1か月、毎日動かしてきました。その間に何度も、「止まっているのに、止まっていることに気づけない」状態になりました。実際に起きた原因のうち、特に多かった3つを紹介します。

■ 1. 認証が切れても、エラーにならない
ログインが切れても、ブラウザの自動操作はログイン画面を開いただけで「進んだ」つもりになることがあります。結果、何も投稿されないまま処理が終わり、画面上は成功のように見えます。

対策は2段です。まず、開いた直後にURLを確認し、ログイン画面に飛ばされていたらその場で止めます。次に、投稿した後は画面の見た目ではなく、公開用のAPIで「本当に公開されたか」を確認します。この2つを入れてから、サイレントな失敗はほとんどなくなりました。

■ 2. 終了コードが0でも、成功とは限らない
「今日は対象がない」と判断して何もせずに終わっても、終了コードは0です。タスクスケジューラは緑のままなのに、実際は何も投稿されていないことがあります。

私は、複数のアカウントを回す設定で、引数の指定を忘れて1つのアカウントしか動いていなかったことに、数週間気づけませんでした。「実行されたか」ではなく、毎朝、各媒体の最終投稿日を集計して見る仕組みを足しました。止まっている媒体が3日以上空いたら、スマホに通知が届くようにしています。

■ 3. スケジューラの引数に書いた変数が、空になる
タスクの引数に直接書いた変数やループが、空の文字列として扱われました。3週間、全部が空振りのまま動いていたのに気づけませんでした。原因は特定できていませんが、再現はします。ループは .sh ファイルの中に書き、そのファイルを呼ぶ形にして解決しました。

ほかにも、利用上限、OAuthの失効、エディタの癖など、実際に詰まった落とし穴と、使っているコードを、有料記事にまとめています。成果を保証するものではなく、同じところで詰まる時間を減らすための、実運用の記録です。

▼ 詳しくはこちら
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す