async-operations

Implement async polling, timeouts, and non-blocking workflows for USD operations in Python and C/C++.

201|25|Updated Dec 18, 2025
One-click install
npx skills add https://github.com/NVIDIA-Omniverse/ovrtx --skill async-operations
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: async-operations
Source: https://github.com/NVIDIA-Omniverse/ovrtx/tree/main/.agents/skills/async-operations
Command: npx skills add https://github.com/NVIDIA-Omniverse/ovrtx --skill async-operations

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Asynchronous operation patterns, including polling, timeouts, and non-blocking workflows, help manage long-running tasks without blocking user interactions.

Core Features & Use Cases

  • Handles async enqueue, polling, and two-phase fetch for operations in Python and C/C++.
  • Provides patterns for blocking waits, non-blocking polls, and progress reporting across USD load, reference, step, and attribute operations.
  • Use cases include long-running USD loading, rendering pipelines, and parallel task orchestration in real-time simulations.

Quick Start

Demonstrate a basic async operation workflow using open_usd_async-like calls with polling and two-phase results in Python.

Frequently Asked Questions about async-operations

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle asynchronous USD loading without blocking the main thread?▼

Asynchronous USD loading can be handled using enqueue-based operations like open_usd_async with non-blocking polling. This pattern allows long-running tasks to execute without blocking user interactions, supporting progress reporting and two-stage result fetching.

What is the best way to implement timeouts and polling for long-running C++ operations?▼

Timeouts and polling for long-running C++ operations are implemented using defined API usage patterns for non-blocking workflows. These patterns provide precise lifecycle semantics, allowing you to poll operation status and fetch results in two stages across rendering pipelines.

Can I execute step and attribute write operations asynchronously in Python?▼

Yes, step and attribute write operations can be executed asynchronously in Python. The Skill defines patterns for enqueueing these operations, using blocking waits or non-blocking polls to manage progress reporting and fetch results safely.

Does this approach support progress reporting for parallel task orchestration in real-time simulations?▼

Progress reporting is fully supported for parallel task orchestration in real-time simulations. The async operation patterns provide lifecycle semantics and safety considerations to monitor long-running tasks across USD loading and rendering pipelines.

When should I use blocking waits versus non-blocking polls for async operations?▼

Use blocking waits when you need to pause execution until a task completes, and non-blocking polls when you must maintain user interaction responsiveness. The Skill defines precise API usage patterns and safety considerations for both approaches.

What are the limitations of two-stage result fetching in asynchronous workflows?▼

Two-stage result fetching requires careful error handling and lifecycle management to avoid race conditions. The Skill defines safety considerations and precise API usage patterns to ensure robust, production-grade asynchronous workflows across USD and rendering pipelines.