Versions Compared

Key

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

...

Code Block
languagebash
titleusage on Windows
Usage: jobscheduler_agent.cmd command [options]
  command:
    start           [options]
    stop            [options]
    abort           [options]
    restart         [options]
    status          [options]
    debug           [options]
    kill            [options]
    install-service [options]
    remove-service  [options]
    start-service   [options]
 options:
    -http-port=<number> | default: 4445
    -timeout=<number> | in seconds; only for stop and restart

Start the Agent

...

Command Line Options

 

...

  • -http-port=<number>
    •  is the HTTP port that the Agent is listening to in order to receive requests from a JobScheduler Master:
      • jobscheduler_agent.cmd|sh 

...

      • command -http-port=####
      • where #### is the numeric port.
    • Without this option being used the port defaults to 4445.
    • Should you want to specify a port then the following precedence applies:
      • First precedence: command line option
      • Second precedence: environment variable SCHEDULER_HTTP_PORT (see below)
      • Third precedence: use of default value
  • -timeout=<number>
    • This option

Stop the Agent

Code Block
languagebash
jobscheduler_agent.cmd|sh stop [options]

This command will safely terminate the Agent (recommended).

  • The Agent waits for running processes to be completed.
  • The -timeout=<number> option
    • can be used to specify the number of seconds that the Agent will wait for tasks to stop. 
    • This option can be applied for stop and restart commands.
    • The Agent sends a SIGTERM signal to the taksk and having reached the timeout a SIGKILL signal will be sent to stop any tasks immediately.
  • Any child processes will be killed by the Agent.

...

Start the Agent

Code Block
languagebash
jobscheduler_agent.cmd|sh start [options]

Stop the Agent

Code Block
languagebash
jobscheduler_agent.cmd|sh abortstop [options]

This command will safely terminate the Agent (recommended).

  • The Agent waits for running processes to be completed.
  • Any child processes will be killed by the Agent.

 

Code Block
languagebash
jobscheduler_agent.cmd|sh abort [options]

The Agent process is terminated immediately.

...

  • Log File
    • On startup the Agent creates a log file in the directory that is pointed to by the environment variable SCHEDULER_LOG_DIR or in the logs subdirectory of the Agent installation directory.
    • Log file names are created from a prefix and the port used by the Agent like this:
      • jobscheduler_agent_4445.log
    • Log files are rotated for each day and are kept for one week (see ./lib/log4j.xml).
    • Rotated log files get the name of the form jobscheduler_agent_4445.log.<yyyy-MM-dd>
  • PID File
    • On startup the Agent creates a PID file in the directory that is pointed to by the environment variable SCHEDULER_PID_FILE_DIR or in the log directory. The PID file contains the Process ID of the system process that the Agent is running in.
    • The PID file is used in order to prevent the Agent to be started twice with the same settings and it can be used for shutdown scripts that require the PID to terminate the process.
    • Pid PID file names are created from a prefix and from the port used by the Agent like this:
      • jobscheduler_agent_4445.pid

Command Line Options

  • The only available option is the http port that the Agent is listening to in order to receive requests from a JobScheduler Master:
    • jobscheduler_agent.cmd|sh command -http-port=####
    • where #### is the numeric port.
  • Without this option being used the port defaults to 4445.
  • Should you want to specify a port then the following precedence applies:
    • First precedence: command line option
    • Second precedence: environment variable SCHEDULER_HTTP_PORT
    • Third precedence: use of default value

Environment Variables

The following environment variables can be used:

Environment Variables

The following environment variables can be used:

  • JAVA_HOME
    • points to the location of the Java Runtime Environment (JRE).
    • Without setting this environment variable Java will be used from the location specified by the system path.
    • Please consider that JAVA_HOME does not point to the location of a JDK but to a JRE directory where the bin/java executable resides.
  • SCHEDULER_HOME
    • points to the directory where the JobScheduler Agent has been installed
    JAVA_HOME
    • points to the location of the Java Runtime Environment (JRE).
    • Without setting this environment variable Java will be used from the location specified by the system path.
    • Please consider that JAVA_HOME does not point to the location of a JDK but to a JRE directory where the bin/java executable resides.
    SCHEDULER_HOME
    • the default value is the parent directory of the start script.
    • Should you want to start the Agent from a directory
    • points to the directory where the JobScheduler Agent has been installed.
    • Without setting this environment variable the default value is the parent directory of the start script.
    • Should you want to start the Agent from a directory different to the Agent installation directory, e.g. by copying the start script to some other location, then this environment variable has to be set in order to locate the JobScheduler Agent installation directory.
  • SCHEDULER_HTTP_PORT
    • sets the port that the JobScheduler Agent is listening to.
    • Without setting this environment variable the port defaults to 4445.
  • SCHEDULER_USER
    • sets the user account that the JobScheduler Agent is operated for. This includes running jobs with the permissions of the specified user.
    • This setting is available for Unix systems only. For Windows systems the user account that runs the start script is used.
    • Without setting this environment variable the user acount that runs the start script is used.
    • This setting can be used when running the Agent start script in system start-up and shutdown configurations that are executed by root, e.g. in /etc/init.d or corresponding locations.
  • SCHEDULER_LOG_DIR
    • sets the directory where the JobScheduler Agent log file is created.
    • This setting defaults to the directory logs in the Agent installation directory.
    • For Windows systems for which the Agent is installed in the program directory that is pointed to by the %ProgramFiles% environment variable it is recommended not to use the default setting. Instead specify a different path via the SCHEDULER_LOG_DIR environment variable, e.g. some location in the data directory that is pointed to by the %ProgramData% environment variable.
  • SCHEDULER_PID_FILE_DIR
    • sets the directory where the JobScheduler Agent pid file is created.
    • This setting defaults to the directory that is specified with the SCHEDULER_LOG_DIR environment variable or the log directory default value.

...

  • Multiple instances of the JobScheduler Agent on the same computer can be operated, e.g. for different user accounts that jobs should be executed for.
  • Any number of Agent instances can be started from the same installation, however, different ports have to be used that the Agent is listening to for requests of a JobScheduler Master.
  • Running the Agent for different user accounts and ports 
    • Use the environment variable SCHEDULER_USER to operate the Agent for a user account that is different from the one that starts the Agent.
    • Use the environment variable SCHEDULER_HTTP_PORT or the option -http-port=#### to start the Agent for a port that is different from the default setting.
    • Make sure that the directories SCHEDULER_LOG_DIR and SCHEDULER_LOG_DIR and SCHEDULER_PID_FILE_DIR are readable and writable for the different user accounts
  • Add the startup options as given in the following examples to your individual startup script.

...

    • _PID_FILE_DIR are readable and writable for the different user accounts
  • Add the startup options as given in the following examples to your individual startup script.

Examples for Windows

Code Block
languagebash
titleSet port by commands and options
set JAVA_HOME=%ProgramFiles%\Java\jre8
 
"%ProgramFiles%\sos-berlin.com\agent\jobscheduler_agent_1.10-TP3\bin\jobscheduler_agent.cmd" start -http-port=4446
Code Block
languagebash
titleSet log directory and port by environment variables
set JAVA_HOME=%ProgramFiles%\Java\jre8
set SCHEDULER_LOG_DIR=%ProgramData%\sos-berlin.com\agent\jobscheduler_agent_1.10-TP3\logs
set SCHEDULER_HTTP_PORT=4446
 
"%ProgramFiles%\sos-berlin.com\agent\jobscheduler_agent_1.10-TP3\bin\jobscheduler_agent.cmd" start

...

Process Class and Standalone Job

First create a Process Class, for example the following (find attached example: agent1.process_class.xml):

...

Second, you should define a Standalone Job and associate the Process Class defined above to the Job job (find an example attached: standalone_hello.job.xml):

...