「なるべく短い間隔に設定したほうがいい」。スケジュール設定でこう考えると、たいてい失敗します。
Makeのスケジュール実行は、時間が来るたびにトリガーモジュールが動きます。新しいデータがあってもなくても動く。つまり空振りにもコストがかかる設計です。
夜間の見回りをする警備員に近い。異常があってもなくても、決まった時刻に決まったルートを歩く。歩いた分だけ人件費は発生します。5分ごとに見回らせれば、当然その分だけ高くつく。
なので、決めるべきことは「何分間隔にするか」ではありません。順番はこうです。
- そもそも定期実行が必要な処理か(不要なら別の方式がある)
- 何分遅れたら実際に困るか
- 動かす必要がない時間帯はどこか
この3つを先に決めれば、間隔は自然と決まります。
まず、起動方式は3種類ある
スケジュール設定の話をする前に、ここを押さえておく必要があります。すべてのシナリオが定期実行で動いているわけではありません。
| 方式 | 動くタイミング | クレジットの効率 |
|---|---|---|
| スケジュール実行 | 設定した時刻・間隔 | 空振りでも消費 |
| 即時実行 | データが届いた瞬間 | 無駄がない |
| オンデマンド | 手動またはAPI経由 | 実行したときだけ |
クレジットの効率で言えば、即時実行が圧倒的に有利です。データが存在するときにしか動かないので、空振りがゼロになる。
Webhookを使う構成や、一部のアプリが提供している即時トリガーがこれにあたります。もし今つなごうとしているサービスがWebhookに対応しているなら、スケジュール実行を選ぶ理由はほとんどありません。
私としては、ここを検討せずに間隔の話から入る解説が多いのが不思議です。設定画面を開く前に、Webhookが使えないかを一度確認する。それだけで月のクレジット消費が桁で変わることがあります。
オンデマンドに注意
「オンデマンド」を選ぶと、自動実行が完全に無効になります。手動で実行ボタンを押すか、API経由で呼び出さない限り動きません。
シナリオをONにしたのに何も起きない、という相談の一定数がこれです。まず起動方式を確認してください。
スケジュール設定の場所と選択肢
シナリオエディタのツールバーにある時計のアイコン、または「15分ごと」と表示されている箇所をクリックすると開きます。初期状態は15分間隔です。
選べる方式はこれだけあります。
- 一定間隔:分単位で指定する
- 1回のみ:指定した日時に1度だけ
- 毎日:毎日決まった時刻に
- 平日:月曜から金曜のみ
- 毎週・毎月:曜日や日付を指定
- 特定の日付:カレンダー的に指定
- オンデマンド:自動実行なし
思いのほか知られていないのが、1つのスケジュールに複数の実行時刻を入れられることです。「毎日」を選んだうえで、午前1時・午後2時40分・午後10時のように追加できます。
「朝と夕方だけ動かしたい」という要望は、シナリオを2本作らなくても1本で実現できます。無料プランはアクティブなシナリオが2本までなので、これを知っているかどうかは実務上けっこう効きます。
プランごとの最小間隔
| プラン | 最小間隔 | アクティブなシナリオ |
|---|---|---|
| Free | 15分 | 2本まで |
| Core以上 | 1分 | 無制限 |
無料プランの15分制限は、実のところそれほど痛くありません。痛いのは月1,000クレジットのほうです。
15分間隔で1本回すと、1日96回、月に約2,880回の実行になります。処理が走らなくてもトリガーは消費するので、この時点で無料枠を大きく超える。制限に引っかかる前に、クレジットが尽きます。
| 実行間隔 | 月の実行回数 | 無料プラン(1,000クレジット) |
|---|---|---|
| 15分ごと | 約2,880回 | 不可能 |
| 1時間ごと | 約720回 | 1本でほぼ使い切る |
| 6時間ごと | 約120回 | 現実的 |
| 1日1回 | 約30回 | 余裕あり |
私がこのブログの記事生成をMakeで回していた頃も、結局はここの調整ばかりしていました。頻度を落とす、処理を減らす、また落とす。速さを諦めた瞬間に、無料プランでも回るようになります。
設定のコツ
コツ1:時間帯を絞る
一定間隔を選んだあと、「+項目を追加」で実行する時間帯を指定できます。ここが一番効く節約です。
たとえば業務時間だけ動かせばいい処理なら、9時から18時に絞る。それだけで実行回数がほぼ3分の1になります。曜日の指定も同時にできるので、平日限定にすればさらに減らせる。
24時間365日動かす必要がある処理は、思っているより少ないです。深夜に届いたメールを、深夜のうちに通知する必要が本当にあるかどうか。
コツ2:間隔を「困る時間」から逆算する
設定する前に自問することを1つ。この処理が1時間遅れたら、実際に何が起きるか。
顧客からの問い合わせなら、1時間の遅れは問題かもしれません。バックアップやレポート集計なら、半日遅れても誰も困らない。
「早いほうが安心」で15分を選ぶのは、コストを払って安心を買っているだけです。その安心に月いくら払っているかを、一度計算してみるといいと思います。
コツ3:処理側でも絞る
実行間隔だけでなく、1回あたりの処理量も見てください。
トリガーモジュールには取得件数の上限設定があります。ここを大きくすると、1回の実行で大量のデータを処理してクレジットを消費します。フィルターを早い段階に置いて、後続に流れる件数を減らすのも有効です。
コツ4:まず手動で試す
スケジュールをONにする前に、「Run once」で1回だけ動かして確認する。これは必ずやってください。
設定を間違えたまま自動実行を始めると、間違った処理が延々と走ります。私も過去に、テストのつもりが本番データを触る構成になっていて肝を冷やしたことがあります。
つまずきやすいポイント
タイムゾーン
スケジュールは組織のタイムゾーン設定に従います。ここがAsia/Tokyoになっていないと、「毎朝9時」が日本時間の別の時刻に実行されます。
次回実行時刻の表示は自分の環境の時刻で出るのに、内部の処理は別基準で動いている。この二重構造が混乱のもとです。設定を変えたら、実際に1日動かして確認するのが確実。
15分間隔が守られない
設定した通りぴったりに動くとは限りません。サーバー側の混雑や、前の実行が終わっていない場合、多少ずれます。秒単位の正確さが必要な処理には向いていません。
「即座に」が選べない
即時実行のオプションは、対応しているトリガーでのみ表示されます。使いたいアプリのモジュールに出てこないなら、そのサービスは対応していないということです。
シナリオがOFFになっている
単純ですが、意外とこれです。スケジュールを設定しても、シナリオ自体のスイッチがOFFなら動きません。設定画面を閉じたあと、ONになっているか確認してください。
エラーで自動停止する
連続してエラーが出ると、Makeがシナリオを自動的に停止することがあります。気づかないまま数日放置されていた、という事態を避けるため、エラー通知の設定は入れておいてください。
よくある質問
無料プランで複数の処理を動かしたいのですが
アクティブなシナリオは2本までです。3つ以上の処理を回したいなら、1本のシナリオの中にルーターを置いて分岐させる構成を検討してください。ただし処理量は増えます。
設定した時刻に動いたか確認できますか
シナリオの実行履歴で確認できます。いつ動いて、何を処理して、いくつクレジットを使ったかまで残っています。設定を詰めるときはここを見ながら調整するのが早いです。
月末だけ動かすような設定はできますか
「毎月」の設定で日付を指定できます。特定の日付を複数指定することも可能です。
Webhookに切り替えたほうがいいのはどんな場合ですか
更新の頻度が低く、かつ即時性が必要な処理です。1日に数件しか届かないのに5分ごとに見に行くのは、明らかに無駄が多い。相手のサービスがWebhookに対応しているなら、切り替える価値があります。
複数のシナリオで実行時刻をずらす意味はありますか
あります。同じ時刻に集中させると処理が重なるので、5分程度ずらしておくと安定します。
まとめ
スケジュール実行でつまずく場所は3つです。オンデマンドのまま動かないこと、タイムゾーンのずれ、そして間隔を短くしすぎること。
特に3つ目は、動いてしまうぶん気づきにくい。月末にクレジットが尽きて初めて気づくパターンが多いです。
※本リンクはアフィリエイトリンクです。
無料プランでも、時間帯を絞って1日数回に抑えれば十分実用になります。まずはそこから → Make.com(※アフィリエイトリンクです)
間隔を決める基準を1つ渡すとすれば、その処理が遅れたときに誰が困るかです。自分だけが困るなら、多少遅くても構わない。相手が待っているなら、そこで初めて短い間隔にお金を払う価値が出てきます。答えは設定画面の数字ではなく、その処理の向こう側で待っている人の中にあります。


コメント