勉強したことのメモ

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とGmailを連携させて受信メール検索及びメール送信

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

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

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

GASを利用してGmailに届いたメール内容をGoogleスプレッドシートに記入する方法

WordPressのContact Form7から送信した内容をGmailで受け ...

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

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

GASで「カクヨム」の更新状況をスクレイピングで取得する

Google Apps Scriptの勉強として「カクヨム」の指定した小説が更新 ...