勉強したことのメモ

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でGoogleカレンダーと連携してイベントの取得・追加・削除

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

GASで「小説家になろう」サイトの更新通知をLINEに送る方法

Google Apps Scriptの勉強として「小説家になろう」サイトの特定小 ...

GASでNintendo Storeをチェックし指定したソフトが〇円以下の際に通知する方法

Google Apps Scriptを利用してNintendo Storeをスク ...

GASで特定サイトにログインした後にスクレイピングを行う方法

Google Apps Scriptの勉強として特定サイトにログインし、その後に ...

GASとGmailを連携させて受信メール検索及びメール送信

Google Apps ScriptとGmailを連携させてみたい。「未読かつ特 ...