GASでスクリプトの処理を一時的に遅延させるsleep

Google Apps Script

スクレイピングやAPIなどの時に処理が返ってくるまで待ちたいときなどがあると思います。
そのようなときにはsleepを使うといいです。

スポンサーリンク

sleepの使い方

一時的に処理を遅らせるsleepはUtilities.sleep()として使うことができます。

30秒待たせる例を書いてみました。

function myFunction(){
  var now = Utilities.formatDate(new Date(), "Asia/Tokyo", "YYYY/MM/DD HH:mm:ss");
  var staySecond = 30;
  Logger.log(now);
  Utilities.sleep(staySecond * 1000);
  now = Utilities.formatDate(new Date(), "Asia/Tokyo", "YYYY/MM/DD HH:mm:ss");
  Logger.log(now);
}

Log>
2019/12/20 18:37:56
2019/12/20 18:38:26

sleepを使うときの注意点として、時間がミリ秒単位ですので、
仮にsleep(1)とした場合には1秒待ってくれるわけではなく、0.001秒しか待ってくれません。

使うときには1000をかけるようなつかいかたがよいです。

まとめ

  • 処理を遅延させるにはUtilities.sleep()を使う
  • sleepはミリ秒単位なので秒単位で遅延させたい場合には1000をかける

コメント

タイトルとURLをコピーしました