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.