コンテンツにスキップ

Timer

Timer events provider は、cron expression を使った scheduled task execution を可能にします。主な用途:

  • 日次レポート
  • 定期的なクリーンアップ
  • スケジュールされた通知
  • 定期的な data sync
answers.json
{
"events-timer": {
"enabled": true,
"timezone": "America/New_York"
}
}
OptionRequiredDescription
enabledYesprovider を有効/無効にする
timezoneNoデフォルトの timezone(デフォルト: UTC)
flows/scheduled_tasks.ygtc
name: scheduled_tasks
version: "1.0"
nodes:
- id: daily_report
type: http
config:
method: GET
url: "https://api.example.com/reports/daily"
next: send_report
- id: send_report
type: reply
config:
channel: "slack-reports"
message: "Daily report: {{http_response}}"
triggers:
- type: timer
cron: "0 9 * * *"
target: daily_report
timezone: "America/New_York"
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, 0=Sunday)
│ │ │ │ │
* * * * *
ScheduleCron ExpressionDescription
Every minute* * * * *毎分実行
Every hour0 * * * *毎時 0 分に実行
Daily at 9 AM0 9 * * *毎日 9:00 に実行
Weekly Monday0 9 * * 1毎週月曜 9:00 に実行
Monthly 1st0 0 1 * *毎月 1 日の深夜 0 時に実行
nodes:
- id: cleanup
type: http
config:
method: DELETE
url: "https://api.example.com/sessions/expired"
triggers:
- type: timer
cron: "0 2 * * *" # 2 AM daily
target: cleanup
nodes:
- id: generate_summary
type: llm
config:
model: "gpt-4"
prompt: "Generate weekly summary from: {{data}}"
next: send_summary
triggers:
- type: timer
cron: "0 9 * * 1" # Monday 9 AM
target: generate_summary
nodes:
- id: health_check
type: http
config:
method: GET
url: "https://api.example.com/health"
next: check_result
- id: check_result
type: branch
config:
conditions:
- expression: "http_response.status != 200"
next: alert
default: done
- id: alert
type: reply
config:
channel: "slack-alerts"
message: "Health check failed!"
triggers:
- type: timer
cron: "*/5 * * * *" # Every 5 minutes
target: health_check
triggers:
- type: timer
cron: "0 9 * * *"
target: daily_task
timezone: "Europe/London" # 9 AM London time