Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

The tree panel offers the Workflows category to select and to display a workflow with the the JS7 - Workflow Editor.

  • Jobs can be added from the Instruction Panel toolbar by dragging and dropping the the  icon.
  • Selecting a job causes the Job Property Editor to be displayed.

...

  • Name: A job name is required. No spaces are allowed and a number of characters are not allowed. 
  • Label: A label assigns a name to the workflow node that is assigned the job.
    • A job can be re-used in a workflow, however, the job label must be unique.
  • Agent: Assignment to an Agent is required.
  • Return Code: The meaning of the job's return code has to be specified. 
    • Return Codes
      • For shell jobs the OS exit code determines the return code. By default an exit code 0 signals success, any other exit codes signal failure.
      • For JVM jobs the return code is specified by the job implementation.
      Values
      • Return Codes are integer values within the range from 0 to 9999.
      • A If a number of return codes are used to indicate success or failure then
        • they can be specified
        separated by
        • from a
        comma. 
        • list of comma separated values, for example 1,2,4,8.
        • they can be specified from a range of return codes using two dots between return codes, for example, 1,2..4,8.
      • Negative return codes can be indicated
        • by specifying negative numbers, for example 1,2,4,-1,-2,-4.
        • by specifying a range of negative numbers, for example 1,-1,-2..-4.
      • Some operating systems use 32-bit unsigned integers as exit codes. Therefore positive numbers in the range between 0x80000000 to 0xffffffff are considered negative return codes, for example the values -1 and 4294967295 are considered the same.
      • Jira
        serverSOS JIRA
        columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverId6dc67751-9d67-34cd-985b-194a8cdc9602
        keyJS-2035
    • On Success On Success / On Error
      • Either successful return codes can be specified or return codes signaling failure.
      • If a job terminates with a return code that is not indicated with the successful return codes or that is stated with return codes signaling failure then the job is considered to have failed. For further details see the section below on Error Handling.
      • JS7 - Notification is created for failed jobs.
    • On Warning
      • For return codes that signal warnings the job execution is considered successful and no error handling applies.
      • JS7 - Notification is created for jobs raising warnings.
  • Executable Type: Allows the job implementation to be selected as a shell job or a JVM job.
    • For shell jobs the Job Property Editor displays the Script subtab and Environment Variables sub-tab.
    • For JVM jobs the Job Property Editor displays the Java subtab.
  • Script Sub-tab
    • This tab holds the input field for the job script. 



    • The right upper corner of this tab offers a pencil icon to invoke the script editor if more than a few commands are to . Any number of commands can be added to the a job script:



    • The script editor offers resizing, syntax highlighting, capabilities for search & replace, undo & redo etc. Closing the script editor with the Submit button will add the script content to the script sub-tab.
  • Java Sub-tab
    • For jobs assigned the JVM job class the Java sub-tab is displayed to enter the name of the Java class used for this job.
    • The JS7 release includes releases include JS7 - Job Templates that can be specified by their Java class name.

...

  • Title: A title that will be displayed in the relevant views can be added to a job.
  • For Shell Jobs: Environment Variables Sub-tab
    • Environment variables for job scripts have to be specified by a mapping:



    • The mapping includes specification of a name for the environment variable that has to comply with OS requirements. Names are automatically converted to uppercaseConsider that Unix operating systems treat environment variables case-sensitive. The GUI provides a list of order variable names for the mapping to environment variables.
    • The value of an environment variable is an expression that can be specified:
      • as a reference to a variable using the $variableName $variable syntax
        • consider that leading or trailing spaces are not allowed for references.
      • as a string which is a sequence of characters
        • enclosed with single quotes to allow literal use of any characters, including the $ character. The only character not allowed for a string is a single quote.
        • enclosed with double quotes to allow mixed use of characters and variables. A $ character is considered as a prefix for a variable.
    • The advantage of the above mapping is the fact that:
      • you users publish only the environment variables that are required by a job instead of creating an arbitrary number of environment variables from any order variables and job arguments,
      • you users limit the risk of overwriting existing shell environment variables, e.g. passing an order variable with the name "PATH" would then will overwrite a shell environment variable of the same name,
      • the Configuration view offers to search for workflows and jobs that carry specific names and/or values of environment variables.

Job Options Tab

  • Job options include the following configuration items:



  • Parallelism: Should more than one order pass the workflow at any given  time or should parallel child orders execute the same job, then this setting determines the maximum number of tasks that are available for the job. This limits parallelism of tasks to the specified number. If more than the specified number of tasks is requested then orders have to wait until a task becomes free.
  • Timeout / Grace Timeout: Specifies the maximum duration that a job should run.
    • If the timeout is exceeded then the Agent will send a SIGTERM signal to a shell job. This corresponds to executing the kill -15 command in Unix environments. The purpose of the SIGTERM signal is to let the job know that it should terminate and to leave it up to the job implementation to perform some cleanup tasks such as disconnecting from a database or removing temporary files.
    • After sending the SIGTERM signal the Agent will wait for the duration of the Grace Timeout to allow the task to complete. If the Grace Timeout is exceeded then the Agent will send a SIGKILL signal that will kill the task. This corresponds to executing the kill -9 command in Unix environments.
  • Warn on shorter execution: Specifies that a warning is created if job execution time falls below this limit. Jobs with warnings are considered successful and are not subject to error handling.
    • The setting can specify an absolute value in seconds, for example 3s.
      • Alternatively to specifying seconds the duration can be specified using the format hh:mm:ss, for example 01:30:00 for one and a half hours.
      • Alternatively to specifying absolute values a percentage can be specified that is calculated from successful past job executions. A value 30% indicates that a warning is raised if the execution time falls below the average by this ratio.
    • The job will raise a notification when falling below this limit.
  • Warn on longer execution: Specifies that a warning is created if job execution exceeds this limit. Jobs with warnings are considered successful and are not subject to error handling.
    • The setting can specify an absolute value in seconds, for example 3s.
      • Alternatively to specifying seconds the duration can be specified using the format hh:mm:ss, for example 01:30:00 for one and a half hours.
      • Alternatively to specifying absolute values a percentage can be specified that is calculated from successful past job executions. A value 30% indicates that a warning is raised if the execution time exceeds the average by this ratio.
    • The job will raise a notification when exceeding this limit.
  • Compatibility: For users of JobScheduler branch 1.x a compatibility mode is available.
    • For use of environment variables compatibility enables:
      • the automatic creation of environment variables for shell jobs from any available order variables and job arguments.
      • the use of the SCHEDULER_PARAM_ prefix for any environment variable created.
    • For use of job arguments the compatibility mode offers a corresponding tab.
  • Criticality: This option allows a level to be selected that can be used for monitoring purposes to prioritize alerts depending on a job's criticality.
  • Credential Key / Load User Profile: Specifies for jobs executed with Agents for Windows that the job should switch user context, see JS7 - Running Jobs as a different User.
  • Fail on output to stderr / Warn on output to stderr: Checks for output in the stderr channel and raises an error or a warning.
    • Fail: If output in the stderr channel is identified then an error is raised and the job is subject to error handling.
    • Warn: If output in the stderr channel is identified then the job run is considered successful and a warning is created.
    • In both situations a JS7 - Notification is created.
  • Skip job if no admission time / Show periods: Specifies that the job should be skipped if the order's daily plan date does not match the days specified with the JS7 - Admission Times for Jobs.
    • If the checkbox is no checked then the job will wait for the next admission time.
    • The  Show Periods link allows to manage the job's admission times.
  • Job options for JVM jobs do not offer all above options:

...