Task Service Schedulers

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 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


Release Notes


  • 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 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
Execute Report 4297EE27-DE35-4AB0-9129-112095882C00
Export Data 6314045e-6b89-461c-863a-d772ea59c928
Import Data 19b76e60-471e-49bb-a072-9ccdc617dbff
Reset System Roles D60A2AD9-C3DD-4FAF-BC44-1D2889565F83
Save Document E272734E-EEDC-4C9A-8F54-0832F522D904
Update Transaction Types 9B937293-7DF8-4F7B-B231-6208FA1D6AB9
Upgrade Database 0B63C444-1127-4631-805D-3ADA803F0288



Was this article helpful?
0 out of 0 found this helpful



Please sign in to leave a comment.