Redwood Documentation

Product Documentation

 

You are currently viewing the legacy RunMyJobs documentation site. This site will be taken down later this month.
All current and future RunMyJobs documentation, including versions 2023.3 and later, can be found here.
Please update your bookmarks. Use the version dropdown menu to select the documentation you need.

›Agent Definition Types

RunMyJobsPlatform Agents

External Platforms

  • Connecting Redwood Server to External Platforms

Credentials

  • Storing Credentials
  • Credential Protocols

Platform Process Servers

  • On-site Platform Process Servers
  • Cloud Platform Agents
  • Using the Wizard to Create Process Servers
  • Configuring Platform Agents
  • Spool Host Agents
  • The Environment of Platform Agent OS Processes
  • Processing Platform Processes
  • Process Server Services
  • Configuring Agentless Process Servers
  • Automatically Updating Platform Agents
  • Enabling TLS
  • Creating Monitoring Checks
  • Configuring Load Balancing on Platform Agents
  • Platform Agent Registry Entries
  • Monitoring Servers with Platform Process Servers

UNIX Agents

  • UNIX Process Servers
  • UNIX Process Server Configuration Data
  • File Events on UNIX
  • Creating UNIX Process Servers (Advanced)
  • Choosing a User Switching Security Mode
  • Controlling Unix Platform Agents
  • Uninstalling Redwood Server Platform Agents from UNIX

Windows Agents

  • Creating a Microsoft Windows Process Server
  • File Events on Microsoft Windows Process Servers
  • Configuration of a Microsoft Windows Process Server
  • Managed Services
  • Configuring Platform Agents on Microsoft Windows
  • Automating Windows tasks that require a desktop window
  • Uninstalling Redwood Server from Microsoft Windows

Agent Definition Types

  • Using the BASH Definition Type
  • Using the KSH Definition Type
  • Using the CSH Definition Type
  • Using the Perl Definition Type
  • Using the Python Definition Type
  • Using the PowerShell Definition Type
  • Using the Visual Basic Script Definition Type
  • Using the CMD Definition Type
  • Using the R Process Definition Type
  • Using the DCL Definition Type
  • Using Platform Definition Types
  • Using the OS Native Definition Type
  • Microsoft Windows Definition Types
  • Using the SQLPLUS Definition Type
  • Using the FTP Definition Type
  • Using the Groovy Definition Type

Command Line Tools

  • Command Line System Tools
  • jtool
  • jcat
  • jdescription
  • jevent
  • jecho
  • jftp
  • JFTP Return Codes
  • jgetcredential
  • jgetfile
  • jgetpar
  • jjoin
  • jlink
  • jlog
  • jmail
  • jmessage
  • jmonitor
  • jputfile
  • jregister
  • jrfc
  • jscp
  • jtool screenshot
  • jscript
  • jsecret
  • jsleep
  • jsplit
  • api-tool.jar

OpenVMS Process Servers

  • Creating HP OpenVMS Process Servers
  • Installing the Platform Agent on HP OpenVMS
  • Configuring HP OpenVMS Process Servers
  • File Events on HP OpenVMS
  • HP OpenVMS Definition Types

AS/400 Connector

  • IBM AS/400 Connector Architecture
  • Setting up the IBM AS/400 Connector
  • Creating an IBM AS/400 Process Server
  • Files on AS/400 Raise Events
  • Using the AS/400 Definition Type
  • Redwood Server OS Support
  • IBM z/OS Definition Types
  • Using the JCL_FTP Definition Type
  • IBM z/OS System Tools

Reference

  • Balancing the Load
  • Credential Protocols
← Using the Perl Definition TypeUsing the PowerShell Definition Type →

Using the Python Definition Type

Python is a widely used, multi-platform, scripting language.

note

You must assign at least one process server to run PYTHON processes in order to use the definition type.

A Python interpreter needs to be installed on the system that the platform agent runs on. Supported versions are Python 2.7, and 3.x. On UNIX systems it should be installed as /usr/bin/python. On Microsoft Windows systems the Python interpreter will be found via the `%PATH%' environment variable available to the job-processor, and otherwise, it will try to find it via the Windows Registry path HKEY_LOCAL_MACHINE\Software\Python\PythonCore or via Cygwin's /usr/bin/python. Please see the Interpreter section below which describes how to override this behavior on a process server-level, using a parameter.

Interpreter

By default, the interpreter for PYTHON scripts defaults to /usr/bin/python on most platforms. You can override this by specifying an interpreter on process server-level with the LocalInterpreter_PYTHONprocess server parameter, like /usr/local/bin/python, for example. You can also specify a list of allowed interpreters on process server-level using the InterpreterWhitelist_PYTHONprocess server parameter and override the default interpreter on process definition-level with the parameter JCS_INTERPRETER_PYTHON. Simply create the parameter and point it to your preferred interpreter, it must exist and be white-listed using the InterpreterWhitelist_PYTHON process server parameter.

The InterpreterWhitelist_PYTHON process server parameter takes a regular expression that must match the value of the JCS_INTERPRETER_PYTHON parameter.

Variables and Parameters

  • Parameters to the script are manipulated in the Python source simply as if they were variables, using the standard parameter syntax.
  • Out parameters are supported. Set the variable using any Python method. For example a simple assignment in Python is Parameter = "This is a string!"

Returning an Error

If your script code exits with a non-zero exit code this is correctly reflected in the server. Note that the maximum value that can be returned is operating system dependent; we recommend not relying on more than one byte (0..255).

Python Examples

The following shows how to use an environment variable as well as parameter:

import os
print("Hello, " + repr(os.environ.get("USER")))   # environment variable
print("Your message was: " + message)             # parameter

Match one variable to a pattern, the following process definition needs two string parameters defined: str and pattern.

str="true"
pattern="t"

if  str.find(pattern) > -1:
     print("Match " + pattern + " found!")
else:
     print(str + "does not match pattern " + pattern + "\n")

The following example shows you how to return a non-zero exit code resulting in the process going into Error:

import sys
N = 1

print("Exiting with exitcode %d \n" % N)

sys.exit(N)

See Also

  • Platform Agent Definition Types
  • Command Line System Tools
← Using the Perl Definition TypeUsing the PowerShell Definition Type →
  • Interpreter
  • Variables and Parameters
  • Returning an Error
  • Python Examples
  • See Also
Docs
Getting StartedInstallationFinance InstallationConcepts
TroubleshootingArchiving
Learn and Connect
Support Portal
BlogEventsResources
ISO/ IEC 27001 Information Security Management
Automate to be human

2023 All Rights Reserved |

Terms of Service | Policies | Cookies | Glossary | Third-party Software | Contact | Copyright | Impressum |