Asynchronous task parameters
Configuring Change Request Creation
Configuration Parameter Name | Value |
---|---|
CallTicketCreationAsync |
0. To disable asynchronous change request creation. 1. To enable asynchronous change request creation. (Default) |
AsyncTicketCreationTimeout |
The desired timeout value, in seconds. The default value is 600 (10 minutes). |
Enabling/Disabling Asynchronous Initial Plan
To control the initial planning phase, see Configuring Initial Planning (see Configure Initial Planning).
Enabling/Disabling Asynchronous Sub-Request Creation
At the end of the Initial Planning stage in the change request lifecycle, FireFlow creates a sub-request for each affected device. By default, FireFlow creates sub-requests synchronously.
If desired, you can enable asynchronous sub-request creation. This enables you to complete other tasks while FireFlow creates the sub-requests. When asynchronous sub-request creation is enabled, after initial planning, the Home page appears with a link to the parent request and sub-requests displayed in a message at the top of the page.
Configuration Parameter Name | Value |
---|---|
CallSubTicketCreationAsync |
0. To disable asynchronous sub-request creation. (Default) 1. To enable asynchronous sub-request creation. |
Enabling/Disabling Asynchronous Risk Checks
At the beginning of the Approve stage in the change request lifecycle, FireFlow performs a risk check. By default, FireFlow performs this risk check asynchronously. This enables you to view and handle the change request while FireFlow performs the risk check. If desired, you can disable this.
Configuration Parameter Name | Value |
---|---|
CallRiskCheckAsync |
0. To disable asynchronous risk checks. 1. To enable asynchronous risk checks. (Default) |
Enabling/Disabling Asynchronous Work Order Creation
At the beginning of the Implement stage in the change request lifecycle, FireFlow creates a work order for each change request (in case of sub-requests, FireFlow creates a work order for each sub-request). By default, FireFlow creates the work order asynchronously. This enables you to view and handle the change request while FireFlow creates the work order. If desired, you can disable this.
Configuration Parameter Name | Value |
---|---|
CallWorkOrderAsync |
0. To disable asynchronous work order creation. 1. To enable asynchronous work order creation. (Default) |
Configuring Background Task Prioritization
FireFlow performs the following background tasks:
Task Worker | Task Description |
---|---|
CreateTicketWorker |
Creating Change Requests Note: This includes creating sub-requests when asynchronous sub-request creation is enabled. |
InitialPlanWorker |
Performing Initial Planning |
RiskCheckWorker |
Performing Risk Checks |
WorkOrderWorker |
Creating Work Orders |
SendEmailWorker |
Sending Emails |
Each of these tasks are performed by general workers. By default, creating change requests is executed by the higher priority general worker, and performing initial planning, performing risk checks, creating work orders, and sending emails are executed by the lower priority general worker. If desired, you can change this behavior in the following ways:
- Change which task workers are executed by which general worker.
- Create a custom general worker (which you can assign the task workers you desire).
Each general worker has the following elements:
Element | Description |
---|---|
niceLevel |
The priority of the worker. A higher number means the worker is a lower priority. Valid values are between 8 and 19. |
numOfWorkers |
The number of tasks that this general worker can execute in parallel. |
workers |
A list of the task workers performed by the general worker. |
Note: When configuring general workers, there is a risk of overloading the machine. When in doubt, contact AlgoSec support.
Parameter name: GeneralWorkers
Value: A copy of the default or current configuration, with the desired changes.
See the examples below for details.
The default value is as follows:
{"HighPriority": {
"niceLevel": 8,
"numOfWorkers": 3,
"workers": [ "CreateTicketWorker" ] },
"RegularPriority": {
"niceLevel": 10,
"numOfWorkers": 3,
"workers": [
"InitialPlanWorker", "SendEmailWorker", "WorkOrderWorker", "RiskCheckWorker", "ValidationWorker" ] } }
Example 1: The following value configures initial planning to be executed by the higher priority general worker. The change appears in bold.
{"HighPriority": {
"niceLevel": 8,
"numOfWorkers": 3,
"workers": [ "CreateTicketWorker", "InitialPlanWorker" ] },
"RegularPriority": {
"niceLevel": 10,
"numOfWorkers": 3,
"workers": [
"SendEmailWorker", "WorkOrderWorker", "RiskCheckWorker", "ValidationWorker" ] } }
Example 2: The following value configures a lower priority custom general worker LowPriority, and the task workers for performing risk checks and change validation were moved to this general worker (and will therefore be performed at a lower priority). The change appears in bold.
{"HighPriority": {
"niceLevel": 8,
"numOfWorkers": 3,
"workers": [ "CreateTicketWorker" ] },
"RegularPriority": {
"niceLevel": 10,
"numOfWorkers": 3,
"workers": [
"InitialPlanWorker", "SendEmailWorker", "WorkOrderWorker" ] },
"LowPriority": {
"niceLevel": 12,
"numOfWorkers": 3,
"workers": [
"RiskCheckWorker", "ValidationWorker" ] } }
Configuration Parameter Name | Value |
---|---|
GeneralWorkers |
A copy of the default or current configuration, with the desired changes. |
Note: There is no prioritizing workers within the same general worker.
Note: If a specific task worker is not defined in any of the general workers, and it is enabled, a new general worker named "default" will be created to perform this task.