Versions Compared

Key

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

...

  • -http-port=<[hostname or ip address:]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.
      • This option can be also used for indicating which network interfaces the JobScheduler Agent should listen to if you specify a hostname or ip address in addition
    • Without this option being used the port defaults to 4445 and the JobScheduler Agent listens to all available network interfaces.
    • 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
  • -https-port=<[hostname or ip address:]number>
    •  is the HTTPS port that the Agent is listening to in order to receive requests from a JobScheduler Master:
      • jobscheduler_agent.cmd|sh command -https-port=####
      • where #### is the numeric port.
      • This option can be also used for indicating which network interfaces the JobScheduler Agent should listen to if you specify a hostname or ip address in addition
    • Without this option being used the port defaults to 4445and the JobScheduler Agent listens to all available network interfaces.
    • 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
  • -data-directory=<number>
    • Location of the data directory.
    • It has to be unique over all JobScheduler Universal Agent instances
    • Should you want to specify a data directory then the following precedence applies:
      • First precedence: command line option
      • Second precedence: environment variable SCHEDULER_DATA (see below)
      • Third precedence: use of default value (=SCHEDULER_HOME/var_SCHEDULER_HTTP_PORT)
  • -timeout=<number>
    • This 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.
  • -kill-script=<location of kill script>
    • The kill scripts provide the functionality to kill a task and it's child processes.

    • Two kill scripts are provided
      • ./bin/jobscheduler_agent_kill_task.sh for Unix as default

      • .\bin\jobscheduler_agent_kill_task.cmd for Windows as default

    • This option can be used to specify the location of a different "kill script" if necessary

    • Should you want to specify a different "kill script" then the following precedence applies:

      • First precedence: command line option
      • Second precedence: environment variable SCHEDULER_KILL_SCRIPT (see below)
      • Third precedence: use of default value
  • -java-options=<java options>
    • With Java 1.8 the initial memory allocation has changed, for details see How to manage the Java heap space.

    • This option can be used to apply Java options for the JobScheduler Universal Agent, e.g. the memory settings.

    • Without this option being used the Java options default to '-Xms100m'.

    • Should you want to specify the Java options then the following precedence applies:

      • First precedence: command line option
      • Second precedence: environment variable JAVA_OPTIONS (see below)
      • Third precedence: use of default value
  • -job-java-options=<java options>
    • Without this option being used the Java options for each job which is started by the JobScheduler Universal Agent.

    • Should you want to specify the Java options for the jobs then the following precedence applies:

      • First precedence: command line option
      • Second precedence: environment variable SCHEDULER_JOB_JAVA_OPTIONS (see below)

...

  • 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]

...

  • Any running tasks and child processes are killed immediately with a SIGKILL signal.
  • Should task have used resources such as database connections then they will not be properly closed.

 


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

...

Code Block
languagebash
isTerminating: false
system:
  hostname: agenthost
  mxBeans:
    operatingSystem:
      processCpuLoad: 2.5630713121704744E-5
      availableProcessors: 4
      freePhysicalMemorySize: 311668736
      systemCpuLoad: 0.046373903924522855
      committedVirtualMemorySize: 4475301888
      totalPhysicalMemorySize: 3155517440
java:
  systemProperties:
    java.vendor: Oracle Corporation
    os.arch: amd64
    os.version: 2.6.32-220.17.1.el6.x86_64
    os.name: Linux
    java.version: 1.8.0_31
version: 1.10.0-SNAPSHOT (6956c56a535d15fcf659f293c42d22dcf92e9e12 2015-07-15 21:23:24+02:00)
startedAt: '2015-07-17T08:38:30.516Z'
totalTaskCount: 21
currentTaskCount: 0

 


Should the Agent not be running then some output is provided such as:

...

After the installation of the Windows Service you will find the .\service\sos_jobscheduler_agent_<http-port>w.exe file. Start this program to configure the Windows Service.

Image Modified

For example goto the "Startup" tab
to modifiy the start parameter

Change Management References - Windows Service

...

  • For Unix systems the start-up and shutdown configurations apply that are executed by root, e.g. in /etc/init.d or corresponding locations.
    • Consider use of the SCHEDULER_USER environment variable to run an Agent that is started by root for a different user account.
  • For Windows systems the start-up of the Agent by installing it as a Windows Service is recommended.

 


Debugging

  • The Agent log level can be increased using the Agent's Apache ProcRun Demon Service Manager demon/service.
  • On Windows systems this is installed in the Agent service Folder and will have a name such as sos_jobscheduler_agent_4444w.exe where 4444 is the port the agent can be addressed over. 
  • Start the ProcRun Manager, select the Logging tab in the Manager interface and set the level to Debug
  • The location of the log files has already been described above. 
  • (Do not forget to set the debug level back to Info once finished.)

...


Anchor
running_multiple_instances
running_multiple_instances
Running multiple instances of JobScheduler Universal Agent

Show If
groupsos-members
  • 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_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\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\logs
set SCHEDULER_HTTP_PORT=4446
 
"%ProgramFiles%\sos-berlin.com\agent\jobscheduler_agent_1.10\bin\jobscheduler_agent.cmd" start

Examples for Unix

Code Block
languagebash
titleSwitch user account and port by commands and options
su - js
jobscheduler_agent.sh start -http-port=4446
Code Block
languagebash
titleSwitch user account and port by environment variables
SCHEDULER_USER=js
SCHEDULER_HTTP_PORT=4446
export SCHEDULER_USER SCHEDULER_HTTP_PORT

jobscheduler_agent.sh start

Testing the JobScheduler Universal Agent Operability

...

...


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

...

To configure remote file watching, see JobScheduler Universal Agent - Remote File Watching

...

...

Behavior in the event of the Universal Agent crashing

...

...