Quick reference for all EverTask configuration options.
Service Configuration
Method
Parameters
Default
Notes
SetChannelOptions
int capacity
ProcessorCount * 200 (min 1000)
Max queued tasks
SetMaxDegreeOfParallelism
int parallelism
ProcessorCount * 2 (min 4)
Concurrent workers
SetDefaultRetryPolicy
IRetryPolicy
LinearRetryPolicy(3, 500ms)
Global retry policy
SetDefaultTimeout
TimeSpan?
null
Global timeout
SetDefaultAuditLevel
AuditLevel
Full
Audit trail verbosity
SetThrowIfUnableToPersist
bool
true
Throw on save failure
UseShardedScheduler
int shardCount
Auto (min 4)
For >10k/sec loads
RegisterTasksFromAssembly
Assembly
-
Scan for handlers
Audit Configuration
Audit Levels
Level
StatusAudit
RunsAudit
Records/Day*
Use Case
Full (default)
All transitions
All executions
~2,304
Critical tasks
Minimal
Errors only
All executions
~576
High-frequency recurring
ErrorsOnly
Errors only
Errors only
~903**
Fire-and-forget
None
Never
Never
0
Extremely high-frequency
*For 100 tasks every 5 minutes. **Assuming typical failure rates.
Configuration Examples
// Global default.SetDefaultAuditLevel(AuditLevel.Minimal)// Per-task overrideawaitdispatcher.Dispatch(task,auditLevel:AuditLevel.ErrorsOnly);awaitdispatcher.Dispatch(task,recurring=>...,auditLevel:AuditLevel.Minimal);
.WithPersistentLogger(log=>log// Auto-enables persistence.SetMinimumLevel(LogLevel.Information)// Min level to persist.SetMaxLogsPerTask(1000))// Max logs per task
Method
Parameters
Default
Notes
WithPersistentLogger
Action<PersistentLoggerOptions>
Disabled
Auto-enables persistence. Logs always go to ILogger!
Disable()
-
-
Disable DB persistence (logs still to ILogger)
SetMinimumLevel
LogLevel
Information
Min level to persist (not ILogger)
SetMaxLogsPerTask
int?
1000
Max logs per task. null = unlimited
Key Points:
Logs are ALWAYS forwarded to ILogger (console, file, Serilog, etc.) regardless of persistence settings
Full structured logging support: Logger.LogInformation("User {UserId} logged in", userId)
// Basic"Server=localhost;Database=EverTaskDb;Trusted_Connection=True;"// With pooling"Server=localhost;Database=EverTaskDb;Trusted_Connection=True;Min Pool Size=5;Max Pool Size=100;"// Azure SQL"Server=tcp:server.database.windows.net,1433;Database=EverTaskDb;User ID=user;Password=pass;Encrypt=True;"
SQLite
// Basic"Data Source=evertask.db"// Shared cache"Data Source=evertask.db;Cache=Shared;"// Full options"Data Source=evertask.db;Mode=ReadWriteCreate;Cache=Shared;Foreign Keys=True;"