Scheduler API Settings
The Scheduler API controls how OLAP and Distribution jobs are scheduled, triggered, and run. Its settings live in the appsettings.json file, located at:
C:\Program Files\Nectari\Nectari Server\Scheduler\appsettings.jsonC:\Program Files\SEI\SEI Server\Scheduler\appsettings.json
Each setting controls a specific part of the scheduler's behavior, such as central point resolution, scheduler intervals, retry logic, external API calls, module activation, or logging levels. Some settings support hot reload, meaning a change takes effect immediately without restarting the Scheduler service. Others require a restart before they take effect. The tables below list every setting, what it controls, whether it supports hot reload, and the 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 the initializer can run. | > 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 override for a specific 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. |
note
Setting the level to Verbose does not support hot reload. Changing to or from Verbose requires a restart.