Configuration
The Scheduler API controls how OLAP and Distribution jobs are scheduled, triggered, and executed. Its behavior is defined through the settings in the appsettings.json file, located at:
C:\Program Files\Nectari\Nectari Server\Scheduler\appsettings.jsonC:\Program Files\SEI\SEI Server\Scheduler\appsettings.json
These settings manage central point resolution, scheduler intervals, retry logic, external API calls, module activation, logging levels, and other runtime behaviors. The tables below describe each setting, its purpose, whether it supports hot reload, and the possible values it accepts.
Central Points
| Setting | Purpose | Reload | Values |
|---|---|---|---|
AllowedHosts | List of allowed host names. Use * to allow all. | ||
CentralPoints.Provider | Source used to load Central Point definitions. | Remote, Local | |
CentralPoints.ApiHostName | Web Server host name when CentralPoints.Provider is set to Remote. Must match the server host. | ✓ | |
CentralPoints.RemoteFetchInterval | Interval for synchronizing Central Points from the Configurator when CentralPoints.Provider is set to Remote. | ✓ | > 0 |
CentralPoints.LocalList[] | Local Central Points when CentralPoints.Provider is set to Local. | ✓ | |
CentralPoints.LocalList[].Name | Display name for the local Central Point. | ✓ | |
CentralPoints.LocalList[].Path | Local or UNC path to the Central Point. | ✓ | |
CentralPoints.LocalList[].WebAppUrl | Web Server URL used for distribution. | ✓ | |
CentralPoints.LocalList[].IsSageMode | Indicates whether the Web Server uses Sage branding. | ✓ | true, false |
Distribution Scheduler
| Setting | Purpose | Reload | Values |
|---|---|---|---|
DistributionScheduler.MisfireThreshold | Grace period (ms) during which a missed trigger can still run. | ✓ | > 0 |
DistributionScheduler.IterationsInterval | Interval (s) between scheduler cycles. | ✓ | > 0 |
DistributionScheduler.MaxParallelization | Maximum number of parallel tasks the scheduler can run. | ✓ | > 0 |
External APIs
| Setting | Purpose | Reload | Values |
|---|---|---|---|
ExternalApis.*.BaseUrl | Base URL of the external API. | ✓ | |
ExternalApis.*.ApiKey | API key used to authenticate with the external API. | ✓ | |
ExternalApis.*.MedianFirstRetryDelay | Temporarily deactivated | ||
ExternalApis.*.RetryCount | Temporarily deactivated | ||
ExternalApis.*.CircuitBreakerDelay | Temporarily deactivated | ||
ExternalApis.*.TimeoutDelay | Maximum request duration before timeout. | ✓ | > 0 |
OLAP Scheduler
| Setting | Purpose | Reload | Values |
|---|---|---|---|
Quartz."quartz.jobStore.misfireThreshold" | Grace period (ms) during which a missed OLAP trigger can still run. | > 0 |
Module Scheduling
| Setting | Purpose | Reload | Values |
|---|---|---|---|
Schedules.*.Enabled | Indicates whether the module is active. | true, false | |
Schedules.*.Scheduler | Scheduler used for the module. | Quartz, Distribution | |
Schedules.*.NectariApiDefinition | Worker API definition associated with the module. | NectariOlapWorker, NectariDistributionWorker | |
Schedules.*.ManagerIterationsInterval | Interval (s) between initializer cycles. | ✓ | > 0 |
Schedules.*.ManagerMaxInactiveIterationBeforeSleep | Maximum number of inactive cycles before the initializer enters sleep mode. | ✓ | > 0 |
Schedules.*.ManagerMaxParallelization | Maximum number of parallel tasks processed by the initializer. | ✓ | > 0 |
Logging (Serilog)
| Setting | Purpose | Reload | Values |
|---|---|---|---|
Serilog.MinimumLevel.Default | Default logging level for the application. | ✓ | Verbose**, Debug, Information, Warning, Error |
Serilog.MinimumLevel.Override.* | Logging level overrides by namespace. | ✓ | Verbose**, Debug, Information, Warning, Error |
Serilog.WriteTo | Serilog sinks that define where logs are written. | ||
Serilog.Enrich | Serilog enrichers that add contextual properties to logs. | ||
Serilog.Properties | Static properties added to all log entries. |
**No hot reload for the Verbose level