Forge
1.x
Docs/Forge/Configuration
Open

Reading2 min
Updated31 Jul 2026
Sourcev1/extensions/cron/configuration.mdx

YAML Configuration Example01

extensions:
  cron:
    mode: "simple"                   # "simple" or "distributed"
    storage: "memory"                # "memory" or "database"
    maxConcurrentJobs: 10
    defaultTimeout: "5m"
    defaultTimezone: "UTC"

    # Retry
    maxRetries: 3
    retryBackoff: "1s"
    retryMultiplier: 2.0
    maxRetryBackoff: "30s"

    # History
    historyRetentionDays: 30
    maxHistoryRecords: 10000

    # Distributed mode
    leaderElection: false
    consensusExtension: "consensus"
    heartbeatInterval: "5s"
    lockTTL: "30s"

    # Admin
    enableAPI: true
    apiPrefix: "/api/cron"
    enableWebUI: true

    # Observability
    enableMetrics: true
    shutdownTimeout: "30s"

Programmatic Configuration02

ext := cron.NewExtension(
    cron.WithMode("distributed"),
    cron.WithStorage("database"),
    cron.WithMaxConcurrentJobs(20),
    cron.WithLeaderElection(true),
    cron.WithTimeout(10 * time.Minute),
)

Config Struct Reference03

FieldTypeDefaultDescription
Modestring"simple"Scheduling mode: "simple" or "distributed"
Storagestring"memory"Storage backend: "memory" or "database"
MaxConcurrentJobsint10Max concurrent job executions
DefaultTimeouttime.Duration5mDefault per-job timeout
DefaultTimezonestring"UTC"Timezone for cron expressions
MaxRetriesint3Default max retry attempts
RetryBackofftime.Duration1sInitial retry backoff
RetryMultiplierfloat642.0Backoff multiplier
MaxRetryBackofftime.Duration30sMaximum retry backoff
HistoryRetentionDaysint30Days to retain execution history
MaxHistoryRecordsint10000Max history records
LeaderElectionboolfalseEnable consensus-based leader election
ConsensusExtensionstring"consensus"Consensus extension name
HeartbeatIntervaltime.Duration5sLeader heartbeat interval
LockTTLtime.Duration30sDistributed lock TTL
EnableAPIbooltrueEnable admin REST API
APIPrefixstring"/api/cron"API path prefix
EnableWebUIbooltrueEnable web dashboard
EnableMetricsbooltrueEnable metrics
ShutdownTimeouttime.Duration30sGraceful shutdown timeout