Skip to content

Configuration

Configure Aeon in an initializer (generated by the install generator):

WhittakerTech::Aeon.configure do |config|
  config.projection_buffer             = 14.days
  config.max_projection_window         = 1.year
  config.disposal_policy               = :windowed
  config.invalidated_retention_window  = 60.days
  config.queue_adapter                 = :sidekiq
end

Options

Option Type Default Description
projection_buffer ActiveSupport::Duration 14.days How far ahead of Time.current the projector extends by default
max_projection_window ActiveSupport::Duration 1.year Absolute ceiling on how far a single allocation can be projected
disposal_policy Symbol :windowed Retention strategy for invalidated occurrences
invalidated_retention_window ActiveSupport::Duration 60.days How long invalidated occurrences are retained before purging
queue_adapter Symbol :sidekiq ActiveJob queue backend for ProjectionJob

Disposal Policies

The disposal policy determines how invalidated occurrences are handled after a fork replaces an allocation.

Policy Description
:ephemeral Invalidated occurrences are immediately purged. Best for cache-like use cases where history is not needed.
:windowed Invalidated occurrences are retained for a fixed window (see invalidated_retention_window), then purged. The default — balances storage with forensic ability.
:historical Invalidated occurrences are retained indefinitely. Useful when you need full audit trails but want the option to purge manually.
:permanent Invalidated occurrences are never purged automatically. For systems where every prediction must be preserved.

The global disposal policy applies to all allocations unless overridden at the per-allocation level via the disposal_policy field.