勉強したことのメモ

webプログラマが勉強したことのメモ。

GASの実行時間計測と各種制限について

   

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 Apps Scriptを色々勉強した中で感じたメリットとデメリット ...

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

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

reCAPTCHA v2でAjaxは使わずにチェック状況を確認する方法

reCAPTCHA v2を実装する案件があり以前の記事を参考に組み込んでみたもの ...

GoogleMapAPIのジオコードで存在するはずの住所が見つからない

GoogleMapAPIを利用したプログラムで確かに存在するはずの住所をジオコー ...

スマホでページ内リンクからGoogleMapアプリを開く

スマホでWebページにあるリンクをクリックした際にGoogleMapアプリを表示 ...

GoogleMapAPIで現在地を更新する方法

GoogleMapAPIを使って現在地を取得してその場所にマーカーを設置、その後 ...

google map apiとPHPを組み合わせて複数マーカーとウィンドウを連携させる

やりたかった事は、 mysqlから経度緯度、マーカー名、マーカーIDを持ってきて ...

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

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

GoogleMapでメインカラーを変更する方法

GoogleMapAPIを用いたMAPでカラー変更をしたかった。カラーコードの指 ...

GoogleMapAPIでヒートマップを表示する方法

GoogleMapAPIで花粉状況や雨量を可視化しやすいようなヒートマップ的なも ...