Introduction
JS7 offers a number of JS7 - Job Classes such as
- JS7 - Shell Jobs
- jobs written in any Shell language (bash, ksh, zsh, dash, Windows Shell),
- jobs written in scripting languages such as JavaScript, Python, PowerShell etc. Such jobs require the related interpreter such as Node.js or Python, PowerShell etc. being installed.
- JVM Jobs
- JS7 - Java Jobs running in the Agent's Java Virtual Machine.
- Jobs using Oracle® GraalVM Polyglot and the Graal compiler, such as JS7 - GraalVM JavaScript Jobs and JS7 - GraalVM Python Jobs.
GraalVM Jobs can be executed with any supported Java Virtual Machine (Oracle, OpenJDK). This allows use of JavaScript and Python jobs running in the Oracle® GraalVM but does not require this flavor of the JVM.
- Recommended: For use with any supported JVM it is sufficient to add Polyglot and Graal Compiler .jar files to the JS7 Agent.
- Deprecated: For use with Oracle® GraalVM 17 JVM the following prerequisites apply:
JS7 offers the JS7 - Job API for GraalVM Jobs that serves the purpose of
- accessing arguments available to jobs from various sources such as JS7 - Order Variables, job and node arguments, JS7 - Job Resources,
- specifying the outcome of jobs including return values that are passed to subsequent jobs from order variables.
GraalVM Jobs for JavaScript and Python are different in a number of ways from using Shell Jobs with the related interpreter.
- The Graal Libraries ship with a number of built-in modules, for Python see https://www.graalvm.org/python/compatibility/.
- Additional modules written in the interpreter language can be added. Howerver, Python C or C++ extension modules might not work with the GraalVM Polyglot interface.
GraalVM Jobs are available starting from the following releases:
- JS7 - GraalVM JavaScript Jobs FEATURE AVAILABILITY STARTING FROM RELEASE 2.5.4
- JS7 - GraalVM Python Jobs FEATURE AVAILABILITY STARTING FROM RELEASE 2.8.2
Resources
Features
Articles
Overview
Content Tools