This package provides a runtime library to help build application interfaces that simplify Open Job Description job templates. When implemented by a third party on behalf of an application, the result is a CLI command that acts as an adaptor. Application developers can also implement support for these CLI patterns directly in their applications, potentially using this library to simplify the work.
Interface features that this library can assist with include:
- Run as a background daemon to amortize application startup and scene load time.
- Tasks run in the context of Open Job Description Sessions, and this pattern lets a scheduling engine sequentially dispatch tasks to a single process that retains the application, loaded scene, and any acceleration data structures in memory.
- Report progress and status messages.
- Applications write progress information and status messages in many different ways. An adaptor can scan the output of an application and report it in the format specified for Open Job Description Stdout Messages.
- Map file system paths in input data.
- When running tasks on a different operating system, or when files are located at different locations compared to where they were at creation, an adaptor can take path mapping rules and perform Open Job Description Path Mapping.
- Transform signals like cancelation requests from the Open Job Description runtime into
the signal needed by the application.
- Applications may require different mechanisms to receive these messages, an adaptor can handle any differences with what Open Job Description provides to give full feature support.
- Adjust application default behaviors for batch processing.
- When running applications that were built for interactive use within a batch processing system, some default behaviors may lead to unreliability of workload completion, such as using watermarks when a license could not be acquired or returning a success exit code when an input data file could not be read. The adaptor can monitor and detect these cases.
Read the Library Documentation to learn more.
This library requires:
- Python 3.9 or higher; and
- Linux, MacOS, or Windows operating system.
This package's version follows Semantic Versioning 2.0, but is still considered to be in its initial development, thus backwards incompatible versions are denoted by minor version bumps. To help illustrate how versions will increment during this initial development stage, they are described below:
- The MAJOR version is currently 0, indicating initial development.
- The MINOR version is currently incremented when backwards incompatible changes are introduced to the public API.
- The PATCH version is currently incremented when bug fixes or backwards compatible changes are introduced to the public API.
You can download this package from:
See Verifying GitHub Releases for more information.
We take all security reports seriously. When we receive such reports, we will investigate and subsequently address any potential vulnerabilities as quickly as possible. If you discover a potential security issue in this project, please notify AWS/Amazon Security via our vulnerability reporting page or directly via email to AWS Security. Please do not create a public GitHub issue in this project.
This project is licensed under the Apache-2.0 License.