勉強したことのメモ

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ドライブに保存
GASで特定サイトをスクレイピングし、画像をGoogleドライブに保存

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

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

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

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

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

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

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

GASを使って任天堂ホームページ更新情報のRSSを取得する方法
GASを使って任天堂ホームページ更新情報のRSSを取得する方法

GASを使ってRSSを取得してみたい。今回はニンテンドーホームページ更新情報とい ...