Magicode logo
Magicode
0
5 min read

[GAS] インストーラブルトリガーの設定方法など(2)~ 時間主導型トリガー

https://cdn.apollon.ai/media/notebox/8f3559bf-fe59-4386-830e-bc769b007698.jpeg

はじめに

拙記事「[GAS] インストーラブルトリガーの設定方法など(1)」の続きとなり、トリガーの設定から保存に至るまでのプロセス及び編集、削除の方法については前記事を参照ください。
本稿は当方クライアント様への説明用に、内部文書として限定公開していたものを再編集したものとなります。

トリガー設定における共通事項

誰がGASを実行したか、に関わらず、トリガーを設定したユーザーが、トリガーより実行されたGASの実行ユーザーとして扱われます。
そのため、原則として当該プロジェクトの管理者(もしくは管理用のアカウント)にてトリガー設定をして頂く必要がございます。
なお、エラー通知は管理者(トリガー設定者)へメールにて通知されますので、通知頻度は適宜設定していただくことになります。

時間主導型トリガーの設定プロセス

時間主導型トリガーについて

タイムドリブンやタイムトリガーと呼ぶ場合もあります。スプレッドシート、ドキュメント、フォーム、スライド、スタンドアロン型のものに適用可能です。
主に特定の日時に実行したい場合や毎日定時に実行するなどの定期的に自動実行させるために設定します。
特に特定の日時を設定する場合、念のためこちらの記事を参考にGAS実行環境のタイムゾーン設定を確認、修正しておきましょう。
イベントのソースを選択にて時間主導型を選択すると、新たに時間ベースのトリガーのタイプを選択項目が追加され、さらに選択したトリガーのタイプによって細かな設定が可能となります。現状、以下の6種類があります。
  1. 特定の日時
  2. 分ベースのタイマー
  3. 時間ベースのタイマー
  4. 日付ベースのタイマー
  5. 週ベースのタイマー
  6. 月ベースのタイマー

1. 特定の日時

指定した任意の日時に実行します。
①での日付の指定方法はYYYY-MM-DD HH:MM形式となります。時間、分単位で細かく指定可能です。体感ですが、およそ1~2分の間で遅延することが多いです。

2. 分ベースのタイマー

○分ごとに実行したい、といった場合に設定します。
①の 時間の間隔を選択(分) にて分単位の間隔を指定します。1分おき、5分おき、10分おき、15分おき、30分おきに実行するよう設定可能です。トリガーが追加された時点からの起算となります。
なお、設定画面にて指定できる間隔は固定長となりますので、それ以外の間隔で実行したいといった場合は、GASからトリガーを生成し、追加する必要があります。
注意事項
無料のアカウントではトリガーの実行時間制限が90分/日であるため、1分おきでは平均して3.75秒で完結する必要があります。遅延発生も考慮すると、複数のトリガーを走らせている場合などは非現実的な設定となります。
なお、制限に引っかかりそうな場合は、複数アカウントで別々にトリガーを設定するか、Google Workspace にて運用したほうが良いでしょう。

3. 時間ベースのタイマー

○時間ごとに実行したい、といった場合に設定します。
①の 時間の間隔を選択(時間) にて時間単位の間隔を指定します。1時間おき、2時間おき、4時間おき、6時間おき、8時間おき、12時間おきに実行するよう設定可能です。こちらもトリガーが追加された時点からの起算となります。体感ですが、およそ1~2分の間で遅延することが多いです。
分タイマー同様、設定画面にて指定できる間隔は固定長となりますので、それ以外の間隔で実行したいといった場合は、GASからトリガーを生成し、追加する必要があります。

4. 日付ベースのタイマー

毎日○時に実行したい、といった場合に設定します。
①の 時刻を選択にて実行したい時間帯(1時間単位)を指定します。指定した1時間の時間帯のなかで、かなりアバウトなタイミングで実行します。体感ですが、およそ15~30分の間で実行されることが多いです。
注意事項
設定画面経由では、毎正時や○時半に実行させる、といったことはできません。

5. 週ベースのタイマー

毎週1度だけ、特定の曜日の指定時間帯に実行したい場合に設定します。
①の 曜日を選択にて曜日を指定し、②の 時刻を選択にて指定した時間帯に実行します。日付ベース同様、かなりアバウトなタイミングで実行します。

6. 月ベースのタイマー

毎月決まった日にちの指定した時間帯で実行したい場合に設定します。
①の 日を選択にて日付を指定し、②の 時刻を選択にて指定した時間帯に実行します。日付ベース同様、かなりアバウトなタイミングで実行されます。
注意事項
指定した日付がその月に存在しない場合は実行されません。具体的には31日を指定した場合、小の月には実行されません。この場合、GASにて次月の月末を算出した上でトリガーを追加するなどの対応が必要となります。

最後に

トリガーによる自動実行は便利ではありますが、エラー捕捉がし辛いこと、実行時の遅延などデメリットもあります。即時性や精緻さ、厳密な時間管理を求めるならそもそもGASは不向きです。
これらを許容できる状況でしたら、積極的に活用し、定型業務を自動化するほうが遥かにメリットが大きいでしょう。

Discussion

コメントにはログインが必要です。