- Print
- DarkLight
- PDF
Overview
The Modify Task node allows you to modify a task located in another Process by adding or modifying its parameters without affecting the workflow of the original Process.
For example:
- If a task is in the Waiting for Callback node, you can use the Modify Task node to update the parameters associated with the task, allowing it to proceed to the next step of the workflow.
- If a task is in the Set State node, you can use the Modify Task node to adjust the parameters associated with the task, altering its flow within the State Diagram.
You can only modify tasks that are in the Waiting for Callback or Set State nodes.
Settings
The Modify Task node has the following parameters:
(Optional) Title and Description: Name and details of the node.
Basic settings:
- Process to which you want to comodify the task: You can select the needed Process by clicking the directory icon or by specifying its Process ID or Alias.
- (Optional) Reference of the task you want to modify: An identifier for the task you are going to modify.
- Copy all task parameters to the new task:
- The checkbox is selected: All current task parameters will be sent along with any parameters specified in the node.
- The checkbox is cleared: Only the parameters specified in the node will be sent.
Parameters:
- Key: Key to specify variables; use a unique name. When updating existing variables, use their original names as a key.
- Value: The value you want to assign to the corresponding Key parameter. The value can be a constant, a variable reference, or a function applied to a variable.
Note: For more information, go to Parameters and functions.
- Type of data:
- String (S)
- Number (N)
- Boolean (B)
- Array (A)
- Object (O)
Note: For more information, go to Data types.
- Code editor: Shows the JSON format of the entered key and value. You can write and include additional code, which will be executed when a task enters the node.
To add a key-value, click + Add “key-value” below the Key field.
To delete the key-value line, click the trash icon on the right side of the key-value line.
Other:
Alert if the number of tasks in the node queue reaches the following number: Helps monitor whether the number of tasks in the node exceeds the specified threshold. When selecting the checkbox, you have to enter the needed number of tasks in the field that appears below.
Maximum interval, for which the task stays in the node before being forwarded: The amount of time a task is allowed to be in the node can be set in seconds, minutes, hours, and days.
Note: The checkbox has a minimum value of 30 seconds. You can set a shorter interval by using the Unixtime function.Synchronous callback:
- The checkbox is selected: The task is checked whether it is not in another Modify node at the same time. Tasks will be updated sequentially – strictly one after another.
- The checkbox is cleared: The task is checked whether it is in the Process.
The Synchronous callback option works if the task you want to modify is in the Waiting for Callback or Set State node at the moment. Otherwise, the task will not be modified and you'll get the no_api_callback_in_node_with_task error.
Examples
Modifying a task in the Waiting for Callback node
Description: In the example below, you can see how the I’m waiting task parameter is changed by I’m from modify.
Precondition:
- Create a Process or a State Diagram, and add the Waiting for Callback node.
- On the Waiting for Callback node details panel, add the param parameter, the I’m waiting value, and the ref1 reference.
- Create a Process and add the Modify Task node.
- In Basic settings of the Modify Task node details panel, add the Waiting for Callback node, the ref1 reference, the param parameter, and the I’m from modify value.
Flow: The task passes through the Modify Task node and gets a new parameter indicating the status of the modification. In this example, it is the ok value. When the modified task returns to the Waiting for Callback node, its parameter changes from I'm waiting to I'm from modify, reflecting the changes specified in the Modify Task node. System parameters are added to the task, so you can track where this modification came from.
You can access a single task parameter or a whole task stored in a State Diagram by Getting Task Parameters from State Diagrams.
Error handling & troubleshooting
When an error occurs in the Modify Task node, a task goes to the auxiliary Condition output node that is used for storing error parameters.
When an error occurs during the task processing, you may see the following error parameter names in the task.
Error parameter name | Error type |
---|---|
__conveyor_modify_task_return_type_error__ | Hardware (system error), Software (error in a node logic/settings). |
__conveyor_modify_task_return_type_tag__ | *Error tag. |
__conveyor_modify_task_return_type_description__ | Error description in human-readable language; can be static or dynamic. |
*The error tag __conveyor_modify_task_return_type_tag__
may have the following values.
Value | Cause | Solution |
---|---|---|
access_denied | You don't have access to the Process you are trying to call. | Contact the Process owner to give you access. |
not_found_task | No task with the specified reference exists in the Process. | Make sure you entered the task reference and Process correctly. Note: An empty reference is not considered unique: if only a single task with an empty reference exists, you cannot access it by reference. |
Not_found_task Note: The task is present in the Process. | The task might have existed the Set State or Waiting for Callback nodes just before it was supposed to be modified. | Try to modify the task again or select the Synchronous callback checkbox. |
no_api_callback_in_node_with_task | The task you are trying to modify is not in the Set State or Waiting for Callback node. | Make sure the task is in the correct type of node. |
duplicate_callback | The Synchronous callback checkbox is selected, and the task is being modified. | Corezoid will reattempt to send the request after 30 seconds. |
modify_task_size_overflow_limit | The size of the task data exceeds the specified limit set for your environment. | Reduce the size of your task. |