Farm Queue

Omniverse Farm Queue is responsible for receiving and collecting tasks from Users, as well as offering processing Agents with the information they need in order to execute them.

Installation

Queue can be installed from the Omniverse Launcher, by navigating to the Exchange header menu, then selecting Queue from the Apps section of the left-hand sidebar.

After first installing Queue, the Install button will then allow you to launch it and send you on your journey to automation.

Omniverse Launcher: Queue

Interface Overview

Omniverse Queue interface

#

Button Name

Action

1

Copy Queue URL

Copies the selected Queue URL in order to paste it in the Agent configuration UI.

2

Quit

Shuts down the Queue background process. Once closed, no new task can be submitted, and Agents currently executing tasks will no longer be able to report their progress, or pick new tasks.

Usage

Once Queue is launched, tasks can be submitted to it and their progress can be monitored via a web interface by clicking the Open Dashboard button.

Note

The first time Queue is launched, the web interface will not display any task history or report the progress of any Agents since no content has been submitted for automation yet. The queue will become populated once tasks have been submitted.

Headless Installation on Linux

To automate deployment of Farm Queue on Linux, it may be convenient to install it in headless manner.

Prerequisites include Ubuntu Server 20.04 or greater, with an Internet connection in order to download the necessary additional software and packages.

Note

Other Linux distributions should also be compatible with Omniverse Farm Queue, although only Ubuntu 20.04 is officially supported for production use.

  1. Start by installing the required software dependencies:

    $ sudo apt-get install -y --no-install-recommends \
            libatomic1 \
            libxi6 \
            libxrandr2 \
            libxt6 \
            libegl1 \
            libglu1-mesa \
            libgomp1 \
            libsm6 \
            unzip
    
  2. Upload the farm_queue_install.sh script to the server running Farm Queue, and place in the /opt/ove folder after creating it:

    farm_queue_install.sh
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #!/bin/bash
    
    #
    # Note: Specific package versions can be retrieved from the Omniverse Launcher.
    #
    
    # Install the Omniverse Farm Queue package, containing the core Queue capabilities:
    mkdir -p ov-farm-queue
    cd ov-farm-queue
    pwd
    curl https://d4i3qtqj3r0z5.cloudfront.net/farm-queue-launcher%40103.1.0%2Bmaster.33.956d9b7d.teamcity.linux-x86_64.release.zip > farm-queue-launcher.zip
    unzip farm-queue-launcher.zip
    rm farm-queue-launcher.zip
    
    # Install the Kit SDK package, containing the set of features and extensions shared by Omniverse applications:
    mkdir kit
    cd kit
    pwd
    curl https://d4i3qtqj3r0z5.cloudfront.net/kit-sdk-launcher@103.1%2Brelease.6024.1fc2e16c.tc.linux-x86_64.release.zip > kit-sdk-launcher.zip
    unzip kit-sdk-launcher.zip
    rm kit-sdk-launcher.zip
    
    cd ..
    
    # Create a boilerplate launch script for the Queue:
    cat << 'EOF' > queue.sh
    #!/bin/bash
    
    BASEDIR=$(dirname "$0")
    exec $BASEDIR/kit/kit $BASEDIR/apps/omni.farm.queue.headless.kit \
        --ext-folder $BASEDIR/exts-farm-queue \
        --/exts/omni.services.farm.management.tasks/dbs/task-persistence/connection_string=sqlite:///$BASEDIR//task-management.db
    EOF
    
    chmod +x queue.sh
    
  3. Change the permission of the farm_queue_install.sh script in order to make it executable:

    $ chown +x farm_queue_install.sh
    
  4. Run the script from within the /opt/ove` folder as a non-root user:

    $ ./farm_queue_install.sh
    
  5. Once the files are downloaded and extracted, you will have a folder named /opt/ove/ov-farm-queue.

  6. Ensure that the /opt/ove/ov-farm-queue and all the files within are owned by a non-root user, then launch the Queue:

    $ ./queue.sh &