source: trunk/config/dist/jobagent.properties @ 5447

Last change on this file since 5447 was 5447, checked in by Nicklas Nordborg, 13 years ago

References #1528: Make slot assignment pluggable in job agents

This is now implemented. Select among three different slot managers:

  • InternalSlotManager (the default)
  • MasterSlotManager
  • RemoteSlotManager

Documentation will be added to docbook.

File size: 6.2 KB
Line 
1# $Id: migrate.properties.in 2614 2006-08-31 11:13:36Z nicklas $
2#
3# Copyright (C) 2006 Nicklas Nordborg
4#
5# This file is part of BASE - BioArray Software Environment.
6# Available at http://base.thep.lu.se/
7#
8# BASE is free software; you can redistribute it and/or
9# modify it under the terms of the GNU General Public License
10# as published by the Free Software Foundation; either version 3
11# of the License, or (at your option) any later version.
12#
13# BASE is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with BASE. If not, see <http://www.gnu.org/licenses/>.
20
21# =======================
22# BASE settings
23# =======================
24
25## The login and password for a BASE user that the agent should run as
26## The use must have privileges corresponding to the predefined 'Job agent' role.
27agent.user=jobagent
28agent.password=
29
30## The ID of this job agent. This is the value used for the external ID property
31## in the database and used for automatic registration of the job agent
32## THE ID MUST BE UNIQUE AMONG ALL RUNNING JOB AGENTS
33agent.id=local
34agent.name=Local job agent
35agent.description=This is the default job agent running on the same server as the web server
36
37# =======================
38# Job agent server settings
39# =======================
40
41## The port the job agen should listen to for incoming control requests
42## such as the start, stop, pause and info command
43agent.port=47822
44
45## Comma-separated list of computer ip-adresses or names that are allowed
46## to remotely control this job agent. If the web server is on another
47## computer this list should at least include that server. The local
48## host is always allowed remote control and doesn't have to be in the list
49agent.remotecontrol=
50
51## If the computers listed above also should be allowed to stop, start and/or
52## pause the job agent or not
53agent.allowremote.stop=false
54agent.allowremote.start=true
55agent.allowremote.pause=true
56
57# ==============================
58# Custom remote control handlers
59# ==============================
60
61## Handlers for custom remote control can be registered with one or more
62## settings like the one below. Replace 'foo' with the actual name of the
63## protocol. The class must implement the CustumRequestHandler
64## interface. Requests are sent to the handler on the agent's remote control
65## port: foo://more-custom-data .....
66# agent.request-handler.foo = <class-name>
67
68
69# ============================
70# Job agent execution settings
71# ============================
72
73## The name of the executor class that is responsible for starting the job
74## The default is ProcessJobExecutor which starts job in a separate process
75## The class must implement the net.sf.basedb.clients.JobExecutor interface
76
77# -------------------------------------------------------------------
78# Executor that executes the jobs in a separate process (recommended)
79# Options:
80#  java = Path to the java executable
81#  options = Extra command line options to pass to the java executable
82# -------------------------------------------------------------------
83agent.executor.class=net.sf.basedb.clients.jobagent.executors.ProcessJobExecutor
84agent.executor.process.java=java
85agent.executor.process.options=-server
86
87# -------------------------------------------------------------------
88# Executor that executes jobs in the same process as the job agent (not recommended)
89# -------------------------------------------------------------------
90# agent.executor.class=net.sf.basedb.clients.jobagent.executors.ThreadJobExecutor
91
92# -------------------------------------------------------------------
93# Executor useful for debugging purposes. It just marks the job as
94# executed without really executing it.
95# Options:
96#  wait = Number of seconds it takes to execute a job
97# -------------------------------------------------------------------
98# agent.executor.class=net.sf.basedb.clients.jobagent.executors.DummyJobExecutor
99# agent.executor.dummy.wait=120
100
101
102## Number of seconds between checks to the job queue
103agent.checkinterval=30
104
105
106# ============================
107# Slot manager settings
108# ============================
109
110## The name of the slot manager class that is responsible for assigning a slot
111## to the job. The default is the InternalSlotManager which assign slots based
112## on the estimated execution time.
113agent.slotmanager.class=net.sf.basedb.clients.jobagent.slotmanager.InternalSlotManager
114
115# -------------------------------------------------------------------
116# The master slot manager is like the internal slot manager but also
117# accepts slot assignment on behalf of other job agents. The other
118# job agents should use the ExternalSlotManager and connect to the
119# remote control port of this job agent.
120# -------------------------------------------------------------------
121# agent.slotmanager.class=net.sf.basedb.clients.jobagent.slotmanager.MasterSlotManager
122
123# -------------------------------------------------------------------
124# The remote slot manager uses another jobagent to assign slots.
125# The other job agent should use the MasterSlotManager
126# Options
127#  server=The name/ip of the other job agent
128#  port=The remote control port of the job agent
129# -------------------------------------------------------------------
130# agent.slotmanager.class=net.sf.basedb.clients.jobagent.slotmanager.RemoteSlotManager
131# agent.slotmanager.remote.server=
132# agent.slotmanager.remote.port=
133
134## Note! A quick job may use a slot from any of the pools reserved for
135## slower jobs if there are unused slots. Priority values should be between
136## 1 and 10, with 10 as the maximum priority.
137## See http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html
138
139## Number of slots to reserved for jobs that takes < 1 minute to execute
140agent.shortest.slots=1
141agent.shortest.priority=4
142
143## Number of slots to reserved for jobs that takes < 10 minutes to execute
144agent.short.slots=1
145agent.short.priority=4
146
147#" Number of slots to reserved for jobs that takes < 1 hour to execute
148agent.medium.slots=2
149agent.medium.priority=3
150
151# Number of slots to reserved for jobs that takes > 1 hour to execute
152agent.long.slots=2
153agent.long.priority=3
154
Note: See TracBrowser for help on using the repository browser.