- Print
- DarkLight
- PDF
The Queue node enables you to hold a task temporarily until you are ready to process it. It is commonly used when tasks require manual intervention, such as when an employee needs to perform specific actions to handle an order, like contacting a customer or preparing an order for shipment.
A workflow involving the Queue node consists of two processes. The first process includes the Queue node, which accumulates and holds all incoming tasks until they are ready for processing. The second process involves the Get from Queue node, which is used to retrieve tasks when you are prepared to process them (see Picture 1).
Picture 1. Queue node task flow
Node Settings
Additional Parameters
Here you have the space to add additional parameters to the task when retrieving it from the queue. By adding relevant parameters, you can enhance the task with additional data, or modify necessary details.
Key-Value
Key - parameter name. It should always be a simple string (without quotations). If you’re defining a new parameter, use a name you haven’t used for this task yet.
Value - parameter value. The value you want to assign to this parameter. It can be a constant, a reference to a variable, or a function applied to the above.
Add "key-value" - adds a new parameter field.
Code editor -code editor of the corresponding JSON.
Other
Alert if the number of tasks in the node queue reaches the following number - If this option is selected, a new condition will be created within the node. It will allow you to monitor whether the number of tasks in the node exceeds the specified threshold.
Maximum interval, for which the task stays in the node before being forwarded - the amount of time a task is allowed to be in this node. Can be specified in seconds, minutes, hours, or days. It can also be specified as a unixtime function. This value must be at least 30 seconds.
Examples
To demonstrate how the Queue node works, let's consider an example (see Picture 2).
Picture 2. Using the Queue node to store a task and retrieve it with a Get from Queue node
First, we set up a Get from Queue node, which is linked to "My Queue" and includes a single additional parameter called "Additional_parameter". We assign the value "I'm extra!" to it.
Next, we add three tasks to the My Queue process, each with a single parameter called "task" with values 1 through 3. Once these tasks are stored in the Queue node, we add a task to a process that includes the "Get from Queue" node. This retrieves a stored task from the Queue.
Notice that the parameter specified in the Queue node is not appended to the tasks until after they pass through that node. Once the tasks are retrieved, the additional parameter "Additional_parameter" is added to each task, with the assigned value "I'm extra!".
It's important to note that two parameters are added to a task when it is released from the Get from Queue node:
queue_task_id: This parameter contains the task ID of the stored task. This ID can be useful for tracking and identifying individual tasks as they are retrieved from the queue.
queue_task_data: This parameter contains the task parameters of the stored task. These parameters include any data that the task originally had, as well as any additional parameters that were specified in the Queue node.
In this node, you can access a single task parameter or a whole task stored in a State Diagram using these constructions.
Error handling & troubleshooting
When an error occurs in the node, the following fields are added to the initial task depending on the error and node type:
Error parameter name | Parameter description |
---|---|
__conveyor_node_type_return_type_error__ | Error type: hardware (system error), software (error in a node logic/settings) |
__conveyor_node_type_return_type_tag__ | Error tag |
__conveyor_node_type_return_type_description__ | Error description in human-readable language. Can be static or dynamic |
See the corresponding section of Get from Queue description.