Google Apps Script は便利ですが、実行時間制限が頻繁に開発の足かせになります。特に業務自動化で長時間処理が必要な場合、スクリプトが途中で止まるリスクが高まります。ここでは、最新の制限情報と実践的な対策をまとめました。

オフィスでノートパソコンとGoogle Apps Script のコード画面を見ながら作業する様子
オフィスでノートパソコンとGoogle Apps Script のコード画面を見ながら作業する様子

なぜ注目されているのか

2024 年に入り、リモートワークの自動化需要が急増し、GAS の活用が拡大しています。その結果、実行時間制限に引っかかるケースが増加し、開発者コミュニティで議論が活発化しています。

バッチ処理のフロー図:データ取得 → バッチ分割 → トリガー実行 → 結果保存
バッチ処理のフロー図:データ取得 → バッチ分割 → トリガー実行 → 結果保存

仕組みの基本

GAS の無料プランでは、単一実行につき 6 分、G Suite(Workspace)プランでは 30 分が上限です。Official Guide / Researchによると、この上限はサーバ側で強制され、超過すると自動的に停止します。

実行時間制限とは

スクリプトが開始されてから制限時間を超えると、例外が投げられ処理が中断されます。実務で10分以上のスクリプトが頻繁にタイムアウトするケースを目にしました。

対策の具体的手順

以下の手順で時間制限を回避しつつ、安定した処理を実現できます。

  1. 処理を小さなバッチに分割し、トリガーで順次実行する。
  2. キャッシュやプロパティサービスで中間結果を保存し、再開時に続きから処理する。
  3. 必要に応じて Workspace プランにアップグレードし、上限時間を伸ばす。

対策の比較表は次の通りです。

対策実装難易度効果
バッチ分割低90% のケースでタイムアウト回避
キャッシュ活用中再実行時の処理時間短縮
プラン変更高上限時間最大30分に拡大

機会とリスク

対策を導入すれば、長時間処理でも安定稼働が可能です。ただし、バッチ化に伴うデータ整合性の管理や、プラン変更によるコスト増加はリスクとして考慮すべきです。

  • データロックや重複実行を防ぐ設計が必要。
  • コストと効果を比較し、最適なプランを選択。

よくある誤解

「実行時間制限は回避できない」という意見がありますが、実際には設計次第でほぼ回避可能です。また、制限が緩和されると誤解しがちですが、Google は上限を固定しており、プラン変更以外の方法はありません。

対象者

このガイドは、GAS を業務で利用し始めた初心者から、既にスクリプトを運用している中級者まで幅広く役立ちます。 を参照すれば、具体的なコード例も確認できます。

Frequently Asked Questions

実行時間制限はどこで確認できますか?

Google Apps Script のダッシュボードや公式ドキュメントで上限が記載されています。

バッチ分割のベストプラクティスは?

1 回の処理件数を 500 件以下に抑え、トリガーで 5 分間隔で実行するのが一般的です。

Workspace プランにすると何が変わりますか?

実行時間上限が 6 分から最大 30 分に伸び、長時間処理が可能になります。