GASのトリガーが止まる原因と気づく方法

GASのトリガーが止まる原因と気づく方法

記事
IT・テクノロジー
Google Apps Scriptで作った自動処理が、いつの間にか止まっていた。担当者が気づいたのは1か月後だった。こういう相談をよく受けます。原因と、気づくための仕組みをまとめます。

■止まる原因の上位
1つ目は実行時間の上限です。1回の実行が6分を超えると強制的に止まります。データが増えて、ある日から超えるようになる、という増え方をします。

2つ目は認可の失効です。アカウントのパスワード変更や権限の見直しで、スクリプトの承認が切れます。

3つ目は、連携先の仕様変更です。スプレッドシートの列が変わった、外部APIの返り値が変わった、といったものです。

4つ目は、トリガー自体が消えているケースです。所有者の変更やプロジェクトのコピーで、トリガーは引き継がれません。

■気づく仕組みを先に作る
GASは失敗しても静かに止まります。まず「正常に終わったことを記録する」ようにします。実行のたびに、日時と処理件数をシートに1行追記します。

そのうえで、想定時刻を過ぎても記録が増えていなければ通知します。失敗を検知するより、成功の不在を検知するほうが確実です。
GAS
トリガー
業務自動化

■6分の壁の回避
処理を分割して、続きから再開できるようにします。どこまで処理したかをシートに保存し、時間が来たら自分で終了して、次のトリガーで続きをやります。全件を1回で終わらせようとしないのが要点です。

■引き継ぎのために残すもの
トリガーの一覧(何時に何が動くか)、必要な権限、連携先のシートIDやAPIの利用先。この3つを1枚にまとめておくと、担当者が変わっても追えます。

止まってしまったGASの原因調査と修正、再発しない形への作り替えは「動かないGAS・Pythonツールを復旧します」(15,000円)で承っています。原因だけを先に知りたい場合は「動かないGAS・Pythonの原因を診断します」(3,000円・1日)もあります。ソースコードとエラー内容をお送りいただければ、何が起きているかを先にお伝えします。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す