BASE 2.0 - Administrator documentation: jobagent.properties reference

This document describes all configuration options for job agents.

Contents
  1. BASE settings
  2. Job agent server settings
  3. Job execution settings

Last updated: $Date: 2007-08-16 14:16:43 +0000 (Thu, 16 Aug 2007) $
Copyright © 2006 The respective authors. All rights reserved.

1. BASE settings

Setting Default value Description
agent.user - Required. The BASE user account the job agent should use to login to the BASE server. The user account must have sufficient privileges to access jobs and job agents. The predefined system role Job agent is intended to be used by job agents. There is also a predefined user account with the login jobagent. This account has to be enabled and given a password before it can be used.
agent.password - Required. The password for the user account.
agent.id - Required. A unique ID that identifies this job agent among other job agent. If multiple job agents are installed each job agent should have it's own unique ID.
agent.name - The name of the job agent. If not specified the ID is used. The name is only used when registering the job agent with the BASE server.
agent.description - A description of the job agent. Only used when registering the job agent.

2. Job agent server settings

Setting Default value Description
agent.port 47822 The port the job agent listens to for control requests. The requests are only used for starting, stopping, pausing and getting status information from the job agent. It is also used by the jobagent.sh command line interface to control the local job agent.
agent.remotecontrol - A comma-separated list of ip addresses or name of computers that are allowed to send control requests to the job agent. If empty only the local host is allowed to connect. It is recommended that the web server is added to the list if the job agent is running on a different server.
agent.allowremote.stop false If the stop command should be accepted from remote hosts specified in the agent.remotecontrol setting. If false only the local host is allowed to stop the job agent.
agent.allowremote.start true If the start command should be accepted from the remote hosts specified in the agent.remotecontrol setting. If false only the local host is allowed to start the job agent.
agent.allowremote.pause true If the pause command should be accepted from the remote hosts specified in the agent.remotecontrol setting. If false only the local host is allowed to pause the job agent.

3. Job execution settings

Setting Default value Description
agent.executor.class net.sf.basedb.clients. jobagent.executors. ProcessJobExecutor Specifies the class that handles the actual execution of the jobs. The default implementation ships three implementations:
  • ProcessJobExecutor: Executes the job in an external process. This is the recommended executor, since a misbehaving plugin doesn't affect the job agent or other jobs.
  • ThreadJobExecutor: Executes the job in a separate thread. This is only recommended for plugins that are trusted and safe. A misbehaving plugin can affect the job agent and other jobs.
  • DummyJobExecutor: Doesn't executes the job. It only marks the job as beeing executed. Use it only for debugging the job agent.
It is possible to create your own implemetnation of a job executor. Create a class that implements the net.sf.basedb.clients.jobagent.JobExecutor interface.
agent.executor.process.java java The path to the java executable used by the ProcessJobExecutor only. If not specified the JAVA_HOME environment variable will be checked. As a last resort java is used without path information to let the operating system find the default installation.
agent.executor.process.options -server Additional command line options to the java executable. Do not add memory options, it will be added automatically by the executor. Used by the ProcessJobExecutor only.
agent.executor.dummy.wait - Number of seconds the dummy job executor should wait before returning from the job execution. The executor first sets the progress to 50% then waits the specified number of seconds before setting the job to completed. If no value is specified it returns immediately.
agent.checkinterval 30 Number of seconds between checks to the database for jobs that are waiting for execution.
agent.shortest.slots 1 Number of slots to reserve for jobs that have estimated that it takes < 1 minute to execute.
agent.shortest.priority 4 The priority to give to jobs that have estimated that it takes < 1 minute to execute. The priority is a value between 1 and 10. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html for more information about thread priorities.
agent.short.slots 1 Number of slots to reserve for jobs that have estimated that it takes < 10 minutes to execute.
agent.short.priority 4 The priority to give to jobs that have estimated that it takes < 10 minutes to execute. The priority is a value between 1 and 10. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html for more information about thread priorities.
agent.medium.slots 2 Number of slots to reserve for jobs that have estimated that it takes < 1 hour to execute.
agent.medium.priority 3 The priority to give to jobs that have estimated that it takes < 1 hour to execute. The priority is a value between 1 and 10. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html for more information about thread priorities.
agent.long.slots 2 Number of slots to reserve for jobs that have estimated that it takes > 1 hour to execute.
agent.long.priority 3 The priority to give to jobs that have estimated that it takes > 1 hour to execute. The priority is a value between 1 and 10. See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html for more information about thread priorities.