Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【GAS】nearMinute の挙動について

概要

nearMinute() によって時限式のトリガーを設定する場合、注意が必要
5:00 に設定した場合、トリガーが実行される範囲は、5:00~5:15, 5:45~5:59
5:55 に設定した場合、トリガーが実行される範囲は、5:00~5:10, 5:40~5:59

nearMinute(minute)

トリガーが実行される分を指定する (±15分)
呼び出されない場合、ランダムな分の値が使用される

# 毎日 5:30 頃に実行される
ScriptApp.newTrigger("myFunction")
  .timeBased()
  .atHour(5)
  .nearMinute(30)
  .everyDays(1)
  .create();

±15分 の範囲

試験的に実行してみた結果、この範囲で呼び出された

nearMinute(0)と指定した時、45分~15分
nearMinute(25)と指定した時、10分~40分
nearMinute(50)と指定した時、35分~5分

※注意

.atHour(5).nearMinute(0) と 5:00 にトリガーを設定した場合、5:00 ~ 5:15, 5:45 ~ 5:59 のいずれかで実行されてしまう
4:45 ~ 5:15ではない

実験

22:00 ~ 22:59 まで1分刻みでトリガーを設定し、実際に実行開始された時間を測定する
(1プロジェクト 20トリガーまでのため、3プロジェクトに分けて実行)

測定結果

  • .atHour()で指定した時間は固定
  • .nearMinute()で指定した 分 の ±15分 のブレがある
  • 試行数が少ないので断言は出来ないが、±8分 くらいには収まる
設定時間[A] 開始時間[B] [B] - [A]
22:00 22:02:54 0:02:54
22:01 22:04:05 0:03:05
22:02 22:08:26 0:06:26
22:03 22:57:49 0:54:49
22:04 22:59:45 0:55:45
22:05 22:04:54 -0:00:06
22:06 22:01:26 -0:04:34
22:07 22:05:53 -0:01:07
22:08 22:14:31 0:06:31
22:09 22:13:12 0:04:12
22:10 22:16:31 0:06:31
22:11 22:13:53 0:02:53
22:12 22:12:29 0:00:29
22:13 22:14:47 0:01:47
22:14 22:17:39 0:03:39
22:15 22:22:51 0:07:51
22:16 22:22:17 0:06:17
22:17 22:22:18 0:05:18
22:18 22:16:31 -0:01:29
22:19 22:13:37 -0:05:23
22:20 22:27:46 0:07:46
22:21 22:24:52 0:03:52
22:22 22:17:44 -0:04:16
22:23 22:25:32 0:02:32
22:24 22:24:00 0:00:00
22:25 22:27:33 0:02:33
22:26 22:23:50 -0:02:10
22:27 22:27:47 0:00:47
22:28 22:29:42 0:01:42
22:29 22:32:18 0:03:18
22:30 22:35:09 0:05:09
22:31 22:30:31 -0:00:29
22:32 22:31:40 -0:00:20
22:33 22:35:57 0:02:57
22:34 22:40:50 0:06:50
22:35 22:31:39 -0:03:21
22:36 22:41:40 0:05:40
22:37 22:37:37 0:00:37
22:38 22:33:10 -0:04:50
22:39 22:34:10 -0:04:50
22:40 22:37:27 -0:02:33
22:41 22:42:24 0:01:24
22:42 22:48:06 0:06:06
22:43 22:49:06 0:06:06
22:44 22:48:37 0:04:37
22:45 22:38:50 -0:06:10
22:46 22:50:51 0:04:51
22:47 22:44:53 -0:02:07
22:48 22:46:53 -0:01:07
22:49 22:47:19 -0:01:41
22:50 22:52:45 0:02:45
22:51 22:49:02 -0:01:58
22:52 22:54:58 0:02:58
22:53 22:46:57 -0:06:03
22:54 22:50:09 -0:03:51
22:55 22:01:19 -0:53:41
22:56 22:55:54 -0:00:06
22:57 22:54:32 -0:02:28
22:58 22:05:55 -0:52:05
22:59 22:59:43 0:00:43

グラフ.JPG

AltGuNi
20新卒 サーバーサイドエンジニア
drecom-inc
Drecom with entertainment として発明を産み続け、人々の期待を超えるサービスを提供することを目的とした会社です。
https://www.drecom.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away