Page History
...
- A job is the basic unit that is executed by an Agent.
- Job implementations come in the following flavors:
- Shell Jobs are executed with the operating system shell, e.g. the Windows Shell or one of the Unix Shells such as
/bin/sh, /bin/bash
etc.- Shell jobs include calls to any shell commands, scripts and executable files.
- Such jobs behave similarly to individual commands being executed in the command line of the operating system.
- Shell jobs allow the use of scripting languages such as Perl, Ruby, Python, PowerShell etc.. The use of these languages requires an interpreter to be installed with the OS and that can be executed from the command line.
- Consider that jobs executed by an Agent cannot successfully request interaction from a console or from a user. If the application, command, script or binary file that is executed tries to bring up a popup window for user interaction then this will fail. This is because in scheduling mode there is no console window to display messages and request that a user makes a confirmation in a popup window.
- JVM Jobs can be implemented in a number of supported languages that can be operated for a Java Virtual Machine and for which the Agent exposes JS7 - Order Variables and job node arguments. Job implementation languages include:
- Java®: such jobs are executed in the JVM provided by the Agent.
- JavaScript®, Ruby, Python etc.: such jobs require use of a GraalVM® Java Virtual Machine that provides the compiler for the rerelevant relevant scripting language.
- Shell Jobs are executed with the operating system shell, e.g. the Windows Shell or one of the Unix Shells such as
Job Relationships
- A workflow can include any number of jobs.
- A job is assigned an Agent that executes the job.
- Within a workflow jobs can be executed by different Agents (cross-platform scheduling).
- A workflow can include additional instructions:
- to manage job dependencies, for example, using the JS7 - Fork / -Join Instruction,
- to manage job resources, for example, using the JS7 - Lock Instruction
- to manage error handling, for example, using the JS7 - Try / -Catch Instruction, JS7 - Retry Instruction and JS7 - If Instruction.
...
Error handling for jobs is performed by workflow instructions:
- A job can be added to a JS7 - Try / -Catch Instruction block to execute follow-up jobs from a Catch block in the event of job failure.
- A job can be added to a JS7 - Retry Instruction block to retry execution of one or more jobs in the event of a specific job failing.
- A job can be added to a JS7 - If Instruction to check the job's return code or return values and to decide about further processing such as failing, finishing the underlying order or continuing with a different set of jobs in the workflow. This particularly applies in a situation when a job terminates with a non-zero return code which is not considered an error but e.g. an informational warning or in a situation when return codes are used to control workflow execution, e.g. indicating by specific return codes that successor jobs should be skipped. The If Instruction is the perfect means to handle this situation.
...
Overview
Content Tools