勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

GASのプログラム実行時間計測方法と各種制限についてのメモ

   2024/02/19  Google Apps Script Google

PHP等でプログラムを組んでいると、あまり実行時間について気にすることはなかった。もちろん出来るだけ短縮はしたいが、例えばMySQLで数千万~億単位のデータから一部を引っ張ってくるとかなると、数分かかっても仕方が無いかなぐらいの間隔だった。

最近Google Apps Scriptを勉強しているがGASは実行時間の制限や上限があるらしい。このあたりのメモ。

 

各種制限

詳しくは以下リファレンスを参照。

https://developers.google.com/apps-script/guides/services/quotas

引っかかってきそうなところは以下の通り。尚、全て無料アカウントでの制限になる。

実行時間

1つのスクリプトに対して「6分 / 実行」となる。重たい処理とかだと6分は微妙なところ。

メール送信

「100/日」とかなり少なく、メールマガジン配信スクリプト等の開発はまず無理だと思われる。また、プロジェクトごとではなくアカウントごとのカウントらしいので注意。

URL Fetch

「20,000/日」とそこそこ回数はありそうだが、スクレイピング等で各種詳細ページから1ページずつデータを引っ張ってくるような処理だと制限にひっかかりそう。

 

実行時間の計測

以下で計測できる。

//実行開始
const startTime = new Date();

/*
何らかの処理
*/

//実行終了
const endTime = new Date();

//実行時間の計算
const runTime = (endTime - startTime) / 1000;

console.log(runTime); //1.715

 

所感

色々制限があるので個人ツールや簡単な社内ツールなら良いが、それ以外に使うのはなかなか難しそうに感じた。

 - Google Apps Script Google

  関連記事

GASで祝日一覧(年月日と祝日名)データをJSON出力するAPIを作成

PHPのシステム案件で祝日を取得し、処理を行う箇所があった。Googleカレンダ ...

GASでGoogleカレンダーと連携してイベントの取得・追加・削除

Google Apps Scriptの勉強としてGoogleカレンダーと連携させ ...

GASを使ってみて感じたメリットとデメリット

Google Apps Scriptを色々勉強した中で感じたメリットとデメリット ...

GASとAdSense Management APIを使って前日分の売り上げをメール通知する方法

Googleアドセンスの売り上げをチェックする際、いつもはアドセンスの管理画面に ...

GASで特定サイトをスクレイピングし、画像をGoogleドライブに保存

Google Apps Scriptで特定のサイトにスクレイピングし、画像が掲載 ...