- Print
- DarkLight
- PDF
Overview
The Queue node enables you to temporarily hold a task until you are ready to process it. It is commonly used when tasks require manual intervention, such as when an employee needs to perform certain actions to process an order, such as contacting a client or preparing an order for shipment.
A workflow involving the Queue node consists of two Processes:
- Includes the Queue node, which accumulates and holds all incoming tasks until they are ready for processing.
- Involves the Get from Queue node, which is used to retrieve tasks when you are prepared to process them.
Settings
The Queue node has the following parameters:
(Optional) Title and Description: Name and details of the node.
Additional 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.
- Type of data:
- String (S)
- Number (N)
- Boolean (B)
- Array (A)
- Object (O)
- 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.
Examples
Using Queue and Get from Queue nodes together
In the example below, you can see how the Queue node in one Process and the Get from Queue node in another Process work together. The parameter specified in the Queue node is not added to the tasks until after they pass through that node. Two parameters are added to a task when it is released from the Get from Queue node:
- queue_task_id: Contains the task ID of the stored task and is useful for tracking and identifying individual tasks as they are retrieved from the Queue node.
- queue_task_data: Contains the task parameters of the stored task that include the data that the task originally had, as well as any additional parameters that were specified in the Queue node.
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 during the task processing, you may see the following error parameter names in the task.
Error parameter name | Error type |
---|---|
__conveyor_queue_return_type_error__ | Hardware (system error), Software (error in a node logic/settings). |
__conveyor_queue_return_type_tag__ | *Error tag. |
__conveyor_queue_return_type_description__ | Error description in human-readable language; can be static or dynamic. |
*The error tag __conveyor_queue_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 get access. |
access_refused | The Process you are working in is not a State Diagram but it must be a State Diagram. | Check the logic of using a State Diagram. For more information, go to State Diagram. |
queue_wrong_convert_param | Parameter value failed to convert with the specified parameter type. | Check and correct the data type of the parameter mentioned in the error message. |
not_found_conv_by_alias | Your alias is linked to a Process that no longer exists. | Use an existing Process. |
queue_wrong_logic | The Queue node is missing in the Process you are trying to call. | Check whether the Queue logic exists in your conv ID. For more information about the Queue node, go to Queue. |