🚀 新規事業
cron-trigger-pattern
最終更新 2026年05月09日 / 40_新規事業/SCALE_Build/カタログ/機能集/cron-trigger-pattern.md
Cron トリガーパターン
用途
Cloudflare Workers の Cron Trigger で定期実行する標準パターン。
特徴
- cron式
- KV更新
- Slack通知連携
コード(コピペ用)
// Cloudflare Workers - Cron Trigger
// wrangler.toml:
// [triggers]
// crons = ["0 9 * * *", "*/30 * * * *"]
interface Env {
CACHE: KVNamespace;
SLACK_TOKEN: ●●●●●●;
}
export default {
async scheduled(event: ScheduledEvent, env: Env, ctx: ExecutionContext) {
console.log('Cron triggered:', event.cron, new Date().toISOString());
// 朝9時のみ
if (event.cron === '0 9 * * *') {
ctx.waitUntil(sendDailyReport(env));
}
// 30分おき
if (event.cron === '*/30 * * * *') {
ctx.waitUntil(refreshCache(env));
}
},
};
async function sendDailyReport(env: Env) {
const data = await env.CACHE.get('today:metrics', 'json');
// Slack 投稿等
}
async function refreshCache(env: Env) {
const fresh = await fetch('https://api.example.com/data').then((r) => r.json());
await env.CACHE.put('cache:data', JSON.stringify(fresh), { expirationTtl: 3600 });
}
使い方
対象プロジェクトに該当ファイルをコピーして、props を流し込むだけ。
注意事項
- 依存パッケージを忘れず追加