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.