コンテンツにスキップ

16-1 店の目覚まし時計(Cron Triggers とは)

Plan: Free費用: 0円Wrangler 4.126.0公式ドキュメント取得日 2026-08-27
Cron Triggers は店の目覚まし時計で、来客が無くてもスタッフを起こします。

ここまでの窓口は、お客さんが来たときにだけ動く形でした。呼び鈴が鳴らない夜のあいだ、スタッフは一度も呼ばれません。

けれども店には、来客と関係なくやるべき仕事があります。棚の在庫を数える、掲示の期限を見る。誰かが時計を見て「そろそろだ」と動き出さなければ始まりません。

いま読んでいるこのサイト(Cloudflare Lab)も同じでした。根拠にしている公式ドキュメントのリンクは、宛先が変わることがあります。その確認は作者が思い出したときに手で走らせるだけで、忙しい日には飛んでいました。

ここでは、来客の無い時間、目覚まし時計そのもの、時刻の書き込み先、使える範囲の順に見ます。

Learning goals

この節でできるようになること

  • お客さんの用件だけでは足りない場面を説明できる
  • Cron Triggers が何をする仕組みかを日常語で言える
  • 鳴らす時刻をどのファイルのどの欄に書くかを言える
  • 無料のプランで持てる本数を数字で言える

窓口のスタッフは呼び鈴で動きます。呼び鈴が鳴らなければ、どれだけ大事な用事があっても始まりません。

公式は、決まった間隔で走らせる仕事の例として、保守の作業や、最新のデータを集めるための他社のサービスへの問い合わせを挙げています。どちらもお客さんの用件とは無関係に必要になる仕事です。

実物では、Cloudflare Lab の出典確認がこれにあたります。読者が来るたびに確かめては表示が遅くなり、誰も来ない日は一度も確かめられません。

来客が無い限り、窓口のスタッフは呼ばれません。

呼び鈴が鳴らない限り、スタッフは待ったままです。時計だけが進みます。

つまり、来客を待つ入口のほかに、時刻で動き出す入口が要ります。

そこで店に目覚まし時計を置きます。決めた時刻になると時計が鳴り、スタッフはマニュアルの決められた章を開いて作業を始めます。

Cloudflare では、この目覚まし時計を Cron Triggers と呼びます。公式は、時刻の指定(cron expression)を Worker に結び付け、scheduled() の受け口を使って予定どおりに Worker を実行させる仕組みだと説明しています。

公式によれば、Cron Triggers で動く Worker は、設備を無駄なく使うため比較的空いている機械の上で走ります。

決めた時刻になると、目覚まし時計がマニュアルを開かせます。

時計が鳴ると、マニュアルの決められた章が開かれます。お客さんは一人もいません。

つまり、Cron Triggers は「時刻」を合図にマニュアルを開かせる仕組みです。

目覚ましの時刻は、スタッフの頭の中ではなく、店舗登録票(第 2 章の wrangler.jsonc)に書きます。書いてあるから、誰が見ても同じ時刻に鳴ります。

Cloudflare では、登録票の triggers の中の crons に、鳴らしたい時刻を並べて書きます。次の設定は公式の例で、「3 分おき」「毎月 1 日の 15:00」「毎月最後の平日の 23:59」の三つを鳴らす、という意味です。読めなくても大丈夫です。

{
"triggers": {
"crons": [
"*/3 * * * *",
"0 15 1 * *",
"59 23 LW * *"
]
}
}

一つの Worker に複数の時刻を並べられます。公式は、Wrangler で管理している Worker なら、目覚ましの設定はこの登録票だけで管理するよう勧めています。

鳴らす時刻は店舗登録票の triggers.crons に並べて書きます。

登録票に時刻の行が三つ書き足されています。書き換えて配送すると、その内容に置き換わります。

つまり、鳴らす時刻は登録票の triggers.crons に書きます。

目覚まし時計は無料のプランでも置けます。ただし、いくつでも置けるわけではありません。

公式の上限の表では、Cron Triggers の本数はアカウント単位で数え、Workers Free は 5 本、Workers Paid は 250 本までです。Worker ごとではなく、アカウント全体の合計です。

Cron Triggers の本数(Workers Free)
5 本 / アカウント
Cron Triggers の本数(Workers Paid)
250 本 / アカウント

もう一つ、公式には Green Compute という設定があります。アカウント単位でこれを有効にすると、Cron Triggers は再生可能エネルギーだけで動く拠点の上でのみ走るようになります。

つまり、無料でも 5 本まで置けます。それを超えるなら、整理するか上位のプランに移ります。

ここで紹介した目覚まし時計が、いま読んでいる Cloudflare Lab でどう使われるかを見ます。

Cloudflare Lab は Phase 4 で、1 日 1 回だけ鳴る目覚ましを 1 本置く予定です。5 本の枠に対して 1 本なので、後から週に一度の集計などを足す余地も残ります。実測(登録した時刻と、最初に鳴った記録)は実装後に追記します。

  • 呼び鈴だけでは、来客の無い時間に仕事を始められません。
  • Cron Triggers は時刻を合図に Worker を動かす仕組みです。
  • 鳴らす時刻は登録票の triggers.crons に書き、無料では 5 本まで持てます。

この節で出てきた言葉を、つながりの順に並べると次のようになります。

図のラベル: 来客が無い時間の仕事 / 店の目覚まし時計 Cron Triggers / 登録票に時刻を書く triggers.crons / 時刻が来たら開く章 scheduled() / 持てる本数の上限 Free 5 / Paid 250

次の節では、五つの欄で鳴る時刻を書き分けます。

この節のチェック

問 1Cron Triggers の説明として公式に沿うものはどれですか?

問 2鳴らす時刻はどこに書きますか?

問 3Workers Free で持てる Cron Triggers の本数はいくつですか(アカウント単位)?

問 4登録票の crons を空の配列にして配送すると、どうなりますか?

問 5時刻の追加や変更が全体に行き渡るまで、公式はどれくらいかかると説明していますか?

最終更新日: