Minimum Version: 3.1.2306.2901
Task service deployments may be configured with custom task schedulers. A task scheduler is a dedicated scheduler for one or more configured task types (i.e. Import, Export, Algorithm Run, etc.).
Default Task Scheduler
All task service instances are automatically configured with a Default Task Scheduler. This task scheduler will handle all task types up to the configured max concurrency, even types configured for a custom scheduler.
Configuration for the default task scheduler:
Max Concurrency: LemonEdge__TaskServiceSettings__MaxParallelTasks
Task Poll Time: LemonEdge__TaskServiceSettings__TaskServicePollTimeInMilliseconds
Custom Task Scheduler
A custom task scheduler may be defined through configuration. Each custom task scheduler has it's own max concurrency, poll time, and allowed task types. Task schedulers are defined in config as a list, so we will have to use index-accessors to define each individual task scheduler. The index-access will be represented by X below where X can be 0, 1, 2, etc. Additionally, the configured task types are defined as a list so they will use index-accessors as well. The index-access for task types will be represented by Y below where Y can be 0, 1, 2, etc.
The task type entries will be defined by their underlying system task type definition which is a Guid. See the list below for common task types, otherwise contact LemonEdge directly for a full list of task type definitions.
Configuration for a custom task scheduler:
Scheduler Name: LemonEdge__TaskServiceSettings__TaskSchedulers__X__Name
Scheduler Max Concurrency: LemonEdge__TaskServiceSettings__TaskSchedulers__X__MaxConcurrency
Scheduler Poll Rate (ms): LemonEdge__TaskServiceSettings__TaskSchedulers__X__PollRateMs
Scheduler Task Types: LemonEdge__TaskServiceSettings__TaskSchedulers__X__TaskTypes__Y
A snippet of task scheduler configuration as defined in appsettings.json
- Task service instances may now be configured to exclude task type execution. This enhancement, configured in tandem with a secondary service using a custom task scheduler, allows the user to isolate task types to specific task service instances. Excluded task types are defined in config as a list. The index-access for each task type will be represented by X below where X can be 0, 1, 2, etc.
- Excluded Tasks: LemonEdge__TaskServiceSettings__ExcludedTasks__X
- Task service instances may now be configured to disable the default scheduler. This enhancements allows for task service instances to be specific to a single or group of configured task types through a custom task scheduler definition. To disable the default scheduler, add the following configuration:
- LemonEdge__TaskServiceSettings__DisableDefaultScheduler = true
- Default task schedulers may now exclude task types when defined within a custom task scheduler. This allows custom task schedulers to be the sole executer of their defined task types, rather than those task types flowing down to the default scheduler when it has availability. To exclude custom task scheduler defined task types from being executed on the default scheduler add the following configuration:
- LemonEdge__TaskServiceSettings__ExcludeCustomTaskSchedulerTasksFromDefault = true
Common Task Types
|Task Name||Task Type|
|Api Import Execution||3B7D8B22-EC0F-41F8-AB86-7F9503B59FDC|
|Code Snippet Execution||6E1B2CEB-AE3B-41CC-A9AC-CDC4812808F4|
|Execute Algorithm Run||A8D908A5-83D2-471F-BADB-D33669051464|
|Execute Import Definition||6CB8D870-AF80-40F4-AC31-46DF25F37CD7|
|Reset System Roles||D60A2AD9-C3DD-4FAF-BC44-1D2889565F83|
|Update Transaction Types||9B937293-7DF8-4F7B-B231-6208FA1D6AB9|