今回は、Google Apps Script(GAS)でスクリプトを実行した際に、いつまで経っても終わらない繰り返し処理や、無限ループに陥ってしまった場合の対処法についてご紹介します。
終わらない繰り返し処理(無限ループ)を止める
Google Apps Script(GAS)のスクリプトエディタを見て気付いている方もいらっしゃるかと思いますが、Google Apps Script(GAS)のスクリプトエディタには三角マークの再生ボタンはあるけど、停止ボタンはありません。
そして例えば、下記のサンプル1のようなスクリプトを実行したり、for文の繰り返し回数を間違えてしまうと、いつまで経っても処理が終わらないという状態が発生してしまいます・・・
(下記のサンプル1はあまり良い例ではないですが・・・)
・サンプル1
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); for (var i = 0; i < 100000; i++) { sh.getRange(1 + i, 1).setValue(‘テスト’ + ‘テスト’); } |
「G Suite Developer Hub」から処理の実行をキャンセルする
そんな時は、「G Suite Developer Hub」という、Google Apps Script(GAS)を管理するメニューから停止を行う事ができます。
なお、「G Suite Developer Hub」は、下記URLからアクセスする事ができます。
「G Suite Developer Hub」にアクセスすると色々なメニューがありますが、左側のメニューにある「実行数」をクリックすると、
・これまでに実行したプロジェクト
・現在実行中のプロジェクト
・関数名
・実行種類
・開始時間
・実行にかかった時間(期間)
・ステータス
などが表示されます。
これらのプロジェクトの中から、停止したいプロジェクトにマウスポインタを当てると、右側に「・」が縦に3つ並んだものが表示されますので、これをクリックし、さらに「終了」をクリックします。
すると、
[関数名]を終了しますか?この実行をキャンセルした場合、再開することはできません。続行しますか?
という確認が表示されますので、さらに「終了」をクリックする事で、実行中の処理をキャンセルする事ができます。
余談(元々あったような気が・・・)
ちなみに少々余談にはなりますが、下記の記事によると「G Suite Developer Hub」は2018年11月2日にスタートした事になっていますが、「Apps Script」という名前で元々存在していて、名前が変わっただけのような気がするのは気のせいでしょうか(笑)
まあ、特に問題はないですけどね!
Googleは現地時間2日、Google Apps Scriptをより手軽に扱える「G Suite Developer Hub」をスタートさせた。
数行のスクリプトでGmailの自動化を行ったり、ドライブやカレンダーなどAPIを使った連携などGoogleプロダクトを用いた手軽な業務効率化にも使えるGoogle Apps Scriptの開発インタフェースに、より手軽に扱える「G Suite Developer Hub」が加わったことを公式ブログで発表した。
引用:マイナビニュース