Skip to main content

Memory Queue

The Memory Queue package provides a FIFO (First-In-First-Out) queue system utility for efficient and reliable task management in RPA workflows. Unlike the persistent Queue package, Memory Queue operates entirely in-memory, making it ideal for fast, temporary data processing within a single automation session.

Use Cases

Memory Queue is perfect for scenarios where you need:

  • Fast data processing - In-memory operations with no database overhead
  • Temporary task queuing - Managing tasks that don't need persistence across sessions
  • Concurrent processing - Thread-safe queue operations for parallel workflows
  • Buffer management - Collecting and processing data in batches
  • Producer-consumer patterns - Decoupling data generation from data processing

Key Features

  • FIFO ordering - Items are processed in the order they are added
  • Thread-safe operations - Concurrent access without data corruption
  • In-memory storage - Fast performance with no database dependencies
  • Simple lifecycle - Create, use, and delete queues as needed
  • Flexible element types - Store any type of data (strings, objects, arrays)

Workflow Pattern

A typical Memory Queue workflow follows this pattern:

  1. Create Queue - Initialize a new queue and get a unique queue ID
  2. Enqueue - Add items to the queue for processing
  3. Dequeue - Remove and process items one by one
  4. Clear (optional) - Remove all items without deleting the queue
  5. Delete Queue - Clean up and release memory when done

Important Notes

  • Queues exist only in memory and are lost when the automation stops
  • Each queue is identified by a unique UUID generated at creation
  • Queues are thread-safe and can be accessed from multiple flows
  • Always delete queues when finished to prevent memory leaks
  • Use the Wait node for blocking operations until items are available