3334 |
14 May 07 |
nicklas |
1 |
<?xml version="1.0" encoding="UTF-8"?> |
3334 |
14 May 07 |
nicklas |
2 |
<!DOCTYPE appendix PUBLIC |
3334 |
14 May 07 |
nicklas |
3 |
"-//Dawid Weiss//DTD DocBook V3.1-Based Extension for XML and graphics inclusion//EN" |
3334 |
14 May 07 |
nicklas |
4 |
"../../../../lib/docbook/preprocess/dweiss-docbook-extensions.dtd"> |
3334 |
14 May 07 |
nicklas |
5 |
<!-- |
3334 |
14 May 07 |
nicklas |
$Id$ |
3334 |
14 May 07 |
nicklas |
7 |
|
4889 |
06 Apr 09 |
nicklas |
Copyright (C) 2007 Jari Häkkinen, Peter Johansson, Nicklas Nordborg, Martin Svensson |
3334 |
14 May 07 |
nicklas |
9 |
|
3334 |
14 May 07 |
nicklas |
This file is part of BASE - BioArray Software Environment. |
3334 |
14 May 07 |
nicklas |
Available at http://base.thep.lu.se/ |
3334 |
14 May 07 |
nicklas |
12 |
|
3334 |
14 May 07 |
nicklas |
BASE is free software; you can redistribute it and/or |
3334 |
14 May 07 |
nicklas |
modify it under the terms of the GNU General Public License |
4477 |
05 Sep 08 |
jari |
as published by the Free Software Foundation; either version 3 |
3334 |
14 May 07 |
nicklas |
of the License, or (at your option) any later version. |
3334 |
14 May 07 |
nicklas |
17 |
|
3334 |
14 May 07 |
nicklas |
BASE is distributed in the hope that it will be useful, |
3334 |
14 May 07 |
nicklas |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
3334 |
14 May 07 |
nicklas |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3334 |
14 May 07 |
nicklas |
GNU General Public License for more details. |
3334 |
14 May 07 |
nicklas |
22 |
|
3334 |
14 May 07 |
nicklas |
You should have received a copy of the GNU General Public License |
4509 |
11 Sep 08 |
jari |
along with BASE. If not, see <http://www.gnu.org/licenses/>. |
3334 |
14 May 07 |
nicklas |
25 |
--> |
3334 |
14 May 07 |
nicklas |
26 |
|
3334 |
14 May 07 |
nicklas |
27 |
<appendix id="appendix.jobagent.properties"> |
5782 |
04 Oct 11 |
nicklas |
28 |
<?dbhtml filename="jobagent.properties.html" ?> |
3334 |
14 May 07 |
nicklas |
29 |
<title>jobagent.properties reference</title> |
3334 |
14 May 07 |
nicklas |
30 |
|
3334 |
14 May 07 |
nicklas |
31 |
<para> |
3363 |
22 May 07 |
nicklas |
32 |
The <filename>jobagent.properties</filename> file is the main configuration file |
3363 |
22 May 07 |
nicklas |
33 |
for job agents. It is located in the <filename><basedir>/www/WEB-INF/classes</filename> |
3363 |
22 May 07 |
nicklas |
34 |
directory. |
3334 |
14 May 07 |
nicklas |
35 |
</para> |
3334 |
14 May 07 |
nicklas |
36 |
|
3363 |
22 May 07 |
nicklas |
37 |
<simplesect id="appendix.jobagent.properties.base"> |
3363 |
22 May 07 |
nicklas |
38 |
<title>BASE settings</title> |
3363 |
22 May 07 |
nicklas |
39 |
|
3363 |
22 May 07 |
nicklas |
40 |
<para> |
3363 |
22 May 07 |
nicklas |
41 |
This section describes the configuration parameters that |
3363 |
22 May 07 |
nicklas |
42 |
are used by the job agent to get access to the BASE server. |
3363 |
22 May 07 |
nicklas |
43 |
</para> |
3363 |
22 May 07 |
nicklas |
44 |
|
3363 |
22 May 07 |
nicklas |
45 |
<variablelist> |
3363 |
22 May 07 |
nicklas |
46 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
47 |
<term><property>agent.user</property></term> |
3363 |
22 May 07 |
nicklas |
48 |
<listitem> |
3363 |
22 May 07 |
nicklas |
49 |
<para> |
3411 |
30 May 07 |
jari |
50 |
Required. The BASE user account used by the job agent to log on |
3363 |
22 May 07 |
nicklas |
51 |
to the BASE server. The user account must have sufficient privileges |
3363 |
22 May 07 |
nicklas |
52 |
to access jobs and job agents. The <emphasis>Job agent</emphasis> |
3363 |
22 May 07 |
nicklas |
53 |
role is a predefined role with all permissions a job agent needs. |
3411 |
30 May 07 |
jari |
54 |
There is also a predefined user account with the user name |
3363 |
22 May 07 |
nicklas |
55 |
<emphasis>jobagent</emphasis>. This account is disabled by default and |
3363 |
22 May 07 |
nicklas |
56 |
has to be enabled and given a password before it can be used. |
3363 |
22 May 07 |
nicklas |
57 |
</para> |
3363 |
22 May 07 |
nicklas |
58 |
</listitem> |
3363 |
22 May 07 |
nicklas |
59 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
60 |
|
3363 |
22 May 07 |
nicklas |
61 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
62 |
<term><property>agent.password</property></term> |
3363 |
22 May 07 |
nicklas |
63 |
<listitem> |
3363 |
22 May 07 |
nicklas |
64 |
<para> |
3411 |
30 May 07 |
jari |
65 |
Required. The password for the job agent user account. |
3363 |
22 May 07 |
nicklas |
66 |
</para> |
3363 |
22 May 07 |
nicklas |
67 |
</listitem> |
3363 |
22 May 07 |
nicklas |
68 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
69 |
|
3363 |
22 May 07 |
nicklas |
70 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
71 |
<term><property>agent.id</property></term> |
3363 |
22 May 07 |
nicklas |
72 |
<listitem> |
3363 |
22 May 07 |
nicklas |
73 |
<para> |
3363 |
22 May 07 |
nicklas |
74 |
Required. A unique ID that identifies this job agent among other |
3365 |
23 May 07 |
martin |
75 |
job agents. If multiple job agents are installed each job agent |
3363 |
22 May 07 |
nicklas |
76 |
should have it's own unique ID. |
3363 |
22 May 07 |
nicklas |
77 |
</para> |
3363 |
22 May 07 |
nicklas |
78 |
</listitem> |
3363 |
22 May 07 |
nicklas |
79 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
80 |
|
3363 |
22 May 07 |
nicklas |
81 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
82 |
<term><property>agent.name</property></term> |
3363 |
22 May 07 |
nicklas |
83 |
<listitem> |
3363 |
22 May 07 |
nicklas |
84 |
<para> |
3363 |
22 May 07 |
nicklas |
85 |
Optional. The name of the job agent. If not specified the ID is used. |
3363 |
22 May 07 |
nicklas |
86 |
The name is only used when registering the job agent with the BASE |
3363 |
22 May 07 |
nicklas |
87 |
server. |
3363 |
22 May 07 |
nicklas |
88 |
</para> |
3363 |
22 May 07 |
nicklas |
89 |
</listitem> |
3363 |
22 May 07 |
nicklas |
90 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
91 |
|
3363 |
22 May 07 |
nicklas |
92 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
93 |
<term><property>agent.description</property></term> |
3363 |
22 May 07 |
nicklas |
94 |
<listitem> |
3363 |
22 May 07 |
nicklas |
95 |
<para> |
3363 |
22 May 07 |
nicklas |
96 |
Optional. A description of the job agent. This is only used when |
3363 |
22 May 07 |
nicklas |
97 |
registering the job agent. |
3363 |
22 May 07 |
nicklas |
98 |
</para> |
3363 |
22 May 07 |
nicklas |
99 |
</listitem> |
3363 |
22 May 07 |
nicklas |
100 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
101 |
</variablelist> |
3363 |
22 May 07 |
nicklas |
102 |
|
3363 |
22 May 07 |
nicklas |
103 |
</simplesect> |
3363 |
22 May 07 |
nicklas |
104 |
|
3363 |
22 May 07 |
nicklas |
105 |
<simplesect id="appendix.jobagent.properties.jobagent"> |
3363 |
22 May 07 |
nicklas |
106 |
<title>Job agent server settings</title> |
3363 |
22 May 07 |
nicklas |
107 |
|
3363 |
22 May 07 |
nicklas |
108 |
<para> |
3363 |
22 May 07 |
nicklas |
109 |
This section describes the configuration parameters that |
3363 |
22 May 07 |
nicklas |
110 |
affect the job agent server itself. |
3363 |
22 May 07 |
nicklas |
111 |
</para> |
3363 |
22 May 07 |
nicklas |
112 |
|
3363 |
22 May 07 |
nicklas |
113 |
<variablelist> |
3363 |
22 May 07 |
nicklas |
114 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
115 |
<term><property>agent.port</property></term> |
3363 |
22 May 07 |
nicklas |
116 |
<listitem> |
3363 |
22 May 07 |
nicklas |
117 |
<para> |
3363 |
22 May 07 |
nicklas |
118 |
Optional. The port the job agent listens to for control requests. |
3363 |
22 May 07 |
nicklas |
119 |
Control requests are used for starting, stopping, pausing and getting |
3363 |
22 May 07 |
nicklas |
120 |
status information from the job agent. It is also used by the |
3363 |
22 May 07 |
nicklas |
121 |
<command>jobagent.sh</command> script to control |
3363 |
22 May 07 |
nicklas |
122 |
the local job agent. The default value is 47822. |
3363 |
22 May 07 |
nicklas |
123 |
</para> |
3363 |
22 May 07 |
nicklas |
124 |
</listitem> |
3363 |
22 May 07 |
nicklas |
125 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
126 |
|
3363 |
22 May 07 |
nicklas |
127 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
128 |
<term><property>agent.remotecontrol</property></term> |
3363 |
22 May 07 |
nicklas |
129 |
<listitem> |
3363 |
22 May 07 |
nicklas |
130 |
<para> |
3411 |
30 May 07 |
jari |
131 |
Optional. A comma-separated list of IP addresses or names of |
3363 |
22 May 07 |
nicklas |
132 |
computers that are allowed to send control requests to the job |
3363 |
22 May 07 |
nicklas |
133 |
agent. If no value is specified, only the local host is allowed |
3363 |
22 May 07 |
nicklas |
134 |
to connect. It is recommended that the web server is added to |
3363 |
22 May 07 |
nicklas |
135 |
the list if the job agent is not running on the same server as |
3363 |
22 May 07 |
nicklas |
136 |
the web server. |
3363 |
22 May 07 |
nicklas |
137 |
</para> |
3363 |
22 May 07 |
nicklas |
138 |
</listitem> |
3363 |
22 May 07 |
nicklas |
139 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
140 |
|
3363 |
22 May 07 |
nicklas |
141 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
142 |
<term><property>agent.allowremote.stop</property></term> |
3363 |
22 May 07 |
nicklas |
143 |
<listitem> |
3363 |
22 May 07 |
nicklas |
144 |
<para> |
3363 |
22 May 07 |
nicklas |
145 |
Optional. If the <command>stop</command> command should be |
3363 |
22 May 07 |
nicklas |
146 |
accepted from remote hosts specified in the <property>agent.remotecontrol</property> setting. |
3363 |
22 May 07 |
nicklas |
147 |
If <constant>false</constant>, which is the default value, |
3363 |
22 May 07 |
nicklas |
148 |
only the local host is allowed to stop the job agent. |
3363 |
22 May 07 |
nicklas |
149 |
</para> |
3363 |
22 May 07 |
nicklas |
150 |
|
3363 |
22 May 07 |
nicklas |
151 |
<note> |
3363 |
22 May 07 |
nicklas |
152 |
<para> |
3487 |
13 Jun 07 |
peter |
153 |
Once the job agent has been stopped it cannot be started |
3363 |
22 May 07 |
nicklas |
154 |
by remote control. You must use the <command>jobagent.sh</command> |
3363 |
22 May 07 |
nicklas |
155 |
script for this. |
3363 |
22 May 07 |
nicklas |
156 |
</para> |
3363 |
22 May 07 |
nicklas |
157 |
</note> |
3363 |
22 May 07 |
nicklas |
158 |
|
3363 |
22 May 07 |
nicklas |
159 |
</listitem> |
3363 |
22 May 07 |
nicklas |
160 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
161 |
|
3363 |
22 May 07 |
nicklas |
162 |
<varlistentry> |
3365 |
23 May 07 |
martin |
163 |
<term><property>agent.allowremote.pause</property></term> |
3363 |
22 May 07 |
nicklas |
164 |
<listitem> |
3363 |
22 May 07 |
nicklas |
165 |
<para> |
3365 |
23 May 07 |
martin |
166 |
Optional. If the <command>pause</command> command should be |
3363 |
22 May 07 |
nicklas |
167 |
accepted from remote hosts specified in the <property>agent.remotecontrol</property> setting. |
3363 |
22 May 07 |
nicklas |
168 |
If <constant>false</constant>, only the local host is allowed to |
3365 |
23 May 07 |
martin |
169 |
pause the job agent. The default value is <constant>true</constant>. |
3363 |
22 May 07 |
nicklas |
170 |
</para> |
3363 |
22 May 07 |
nicklas |
171 |
</listitem> |
3363 |
22 May 07 |
nicklas |
172 |
</varlistentry> |
3365 |
23 May 07 |
martin |
173 |
|
3363 |
22 May 07 |
nicklas |
174 |
<varlistentry> |
3365 |
23 May 07 |
martin |
175 |
<term><property>agent.allowremote.start</property></term> |
3363 |
22 May 07 |
nicklas |
176 |
<listitem> |
3363 |
22 May 07 |
nicklas |
177 |
<para> |
3411 |
30 May 07 |
jari |
178 |
Optional, valid only when job agent is paused. If |
3411 |
30 May 07 |
jari |
179 |
the <command>start</command> command should be accepted from |
3411 |
30 May 07 |
jari |
180 |
remote hosts specified in |
3411 |
30 May 07 |
jari |
181 |
the <property>agent.remotecontrol</property> setting. |
3411 |
30 May 07 |
jari |
182 |
If <constant>false</constant>, only the local host is |
3411 |
30 May 07 |
jari |
183 |
allowed to start the job agent when it is paused. The |
3411 |
30 May 07 |
jari |
184 |
default value is <constant>true</constant>. |
3363 |
22 May 07 |
nicklas |
185 |
</para> |
3363 |
22 May 07 |
nicklas |
186 |
</listitem> |
3363 |
22 May 07 |
nicklas |
187 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
188 |
</variablelist> |
3363 |
22 May 07 |
nicklas |
189 |
|
3363 |
22 May 07 |
nicklas |
190 |
</simplesect> |
3363 |
22 May 07 |
nicklas |
191 |
|
5446 |
15 Oct 10 |
nicklas |
192 |
<simplesect id="appendix.jobagent.properties.request"> |
5446 |
15 Oct 10 |
nicklas |
193 |
<title>Custom request handlers</title> |
5446 |
15 Oct 10 |
nicklas |
194 |
|
5446 |
15 Oct 10 |
nicklas |
195 |
<variablelist> |
5446 |
15 Oct 10 |
nicklas |
196 |
<varlistentry> |
5446 |
15 Oct 10 |
nicklas |
197 |
<term><property>agent.request-handler.*</property></term> |
5446 |
15 Oct 10 |
nicklas |
198 |
<listitem> |
5446 |
15 Oct 10 |
nicklas |
199 |
<para> |
5446 |
15 Oct 10 |
nicklas |
200 |
Optional. One or more entries for custom remote control handlers. |
5446 |
15 Oct 10 |
nicklas |
201 |
The * should be replaced with the name of the protocol and the |
5446 |
15 Oct 10 |
nicklas |
202 |
value should be the name of a class implementing the |
5446 |
15 Oct 10 |
nicklas |
203 |
<interfacename docapi="net.sf.basedb.clients.jobagent.handlers">CustomRequestHandler</interfacename> |
5446 |
15 Oct 10 |
nicklas |
204 |
interface. Requests can then be sent to the agent's remote control port on |
5446 |
15 Oct 10 |
nicklas |
205 |
the form: <code>foo://custom-data....</code>. |
5446 |
15 Oct 10 |
nicklas |
206 |
</para> |
5446 |
15 Oct 10 |
nicklas |
207 |
</listitem> |
5446 |
15 Oct 10 |
nicklas |
208 |
</varlistentry> |
5446 |
15 Oct 10 |
nicklas |
209 |
</variablelist> |
5446 |
15 Oct 10 |
nicklas |
210 |
|
5446 |
15 Oct 10 |
nicklas |
211 |
</simplesect> |
5446 |
15 Oct 10 |
nicklas |
212 |
|
3363 |
22 May 07 |
nicklas |
213 |
<simplesect id="appendix.jobagent.properties.execution"> |
3363 |
22 May 07 |
nicklas |
214 |
<title>Job execution settings</title> |
3363 |
22 May 07 |
nicklas |
215 |
|
3363 |
22 May 07 |
nicklas |
216 |
<para> |
3363 |
22 May 07 |
nicklas |
217 |
This section describes the configuration parameters that |
3363 |
22 May 07 |
nicklas |
218 |
affect the execution of jobs. |
3363 |
22 May 07 |
nicklas |
219 |
</para> |
3363 |
22 May 07 |
nicklas |
220 |
|
3363 |
22 May 07 |
nicklas |
221 |
<variablelist> |
3363 |
22 May 07 |
nicklas |
222 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
223 |
<term><property>agent.executor.class</property></term> |
3363 |
22 May 07 |
nicklas |
224 |
<listitem> |
3363 |
22 May 07 |
nicklas |
225 |
<para> |
3363 |
22 May 07 |
nicklas |
226 |
The name of the Java class that handles the actual execution of jobs. |
3363 |
22 May 07 |
nicklas |
227 |
The default implementation for a job agent ships three |
3363 |
22 May 07 |
nicklas |
228 |
implementations: |
3363 |
22 May 07 |
nicklas |
229 |
|
3363 |
22 May 07 |
nicklas |
230 |
<itemizedlist> |
3413 |
30 May 07 |
martin |
231 |
<listitem> |
3363 |
22 May 07 |
nicklas |
232 |
<para> |
3944 |
09 Nov 07 |
martin |
233 |
<classname docapi="net.sf.basedb.clients.jobagent.executors"> |
3944 |
09 Nov 07 |
martin |
234 |
net.sf.basedb.clients.jobagent.executors.ProcessJobExecutor |
3944 |
09 Nov 07 |
martin |
235 |
</classname>: |
3363 |
22 May 07 |
nicklas |
236 |
Executes the job in an |
3363 |
22 May 07 |
nicklas |
237 |
external process. This is the recommended executor and is the default |
3411 |
30 May 07 |
jari |
238 |
choice if no value has been specified. With this executor, a |
3487 |
13 Jun 07 |
peter |
239 |
misbehaving plugin does not affect the job agent or other jobs. |
3363 |
22 May 07 |
nicklas |
240 |
The drawback is that since a new virtual machine has to be started, |
3411 |
30 May 07 |
jari |
241 |
more memory is required and the start up time can be long. |
3363 |
22 May 07 |
nicklas |
242 |
</para> |
3363 |
22 May 07 |
nicklas |
243 |
</listitem> |
3363 |
22 May 07 |
nicklas |
244 |
|
3363 |
22 May 07 |
nicklas |
245 |
<listitem> |
3363 |
22 May 07 |
nicklas |
246 |
<para> |
3944 |
09 Nov 07 |
martin |
247 |
<classname docapi="net.sf.basedb.clients.jobagent.executors"> |
3944 |
09 Nov 07 |
martin |
248 |
net.sf.basedb.clients.jobagent.executors.ThreadJobExecutor |
3944 |
09 Nov 07 |
martin |
249 |
</classname>: |
3363 |
22 May 07 |
nicklas |
250 |
Executes the job in a separate thread. This is only recommended |
3363 |
22 May 07 |
nicklas |
251 |
for plugins that are trusted and safe. A misbehaving plugin can affect the job agent |
3411 |
30 May 07 |
jari |
252 |
and other jobs, but the start up time is short and less memory |
3363 |
22 May 07 |
nicklas |
253 |
is used. |
3363 |
22 May 07 |
nicklas |
254 |
</para> |
3363 |
22 May 07 |
nicklas |
255 |
</listitem> |
3363 |
22 May 07 |
nicklas |
256 |
|
3363 |
22 May 07 |
nicklas |
257 |
<listitem> |
3363 |
22 May 07 |
nicklas |
258 |
<para> |
3944 |
09 Nov 07 |
martin |
259 |
<classname docapi="net.sf.basedb.clients.jobagent.executors">net.sf.basedb.clients.jobagent.executors.DummyJobExecutor</classname>: |
3487 |
13 Jun 07 |
peter |
260 |
Does not execute the job. It only marks the job as being executed, |
3363 |
22 May 07 |
nicklas |
261 |
and after waiting some time, as finished successfully. |
3363 |
22 May 07 |
nicklas |
262 |
Use it for debugging the job agent. |
3363 |
22 May 07 |
nicklas |
263 |
</para> |
3363 |
22 May 07 |
nicklas |
264 |
</listitem> |
3363 |
22 May 07 |
nicklas |
265 |
</itemizedlist> |
3363 |
22 May 07 |
nicklas |
266 |
|
3365 |
23 May 07 |
martin |
267 |
It is possible to create your own implementation of a job executor. |
3363 |
22 May 07 |
nicklas |
268 |
Create a class that implements the |
3944 |
09 Nov 07 |
martin |
269 |
<interfacename docapi="net.sf.basedb.clients.jobagent">net.sf.basedb.clients.jobagent.JobExecutor</interfacename> |
3363 |
22 May 07 |
nicklas |
270 |
interface. |
3363 |
22 May 07 |
nicklas |
271 |
</para> |
3363 |
22 May 07 |
nicklas |
272 |
</listitem> |
3363 |
22 May 07 |
nicklas |
273 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
274 |
|
3363 |
22 May 07 |
nicklas |
275 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
276 |
<term><property>agent.executor.process.java</property></term> |
3363 |
22 May 07 |
nicklas |
277 |
<listitem> |
3363 |
22 May 07 |
nicklas |
278 |
<para> |
3363 |
22 May 07 |
nicklas |
279 |
Optional. The path to the Java executable used by the |
3944 |
09 Nov 07 |
martin |
280 |
<classname docapi="net.sf.basedb.clients.jobagent.executors"> |
3944 |
09 Nov 07 |
martin |
281 |
ProcessJobExecutor |
3944 |
09 Nov 07 |
martin |
282 |
</classname>. If not specified the |
3363 |
22 May 07 |
nicklas |
283 |
<envar>JAVA_HOME</envar> environment variable will be checked. |
3363 |
22 May 07 |
nicklas |
284 |
As a last resort <command>java</command> is used without path |
3363 |
22 May 07 |
nicklas |
285 |
information to let the operating system find the default |
3363 |
22 May 07 |
nicklas |
286 |
installation. |
3363 |
22 May 07 |
nicklas |
287 |
</para> |
3363 |
22 May 07 |
nicklas |
288 |
</listitem> |
3363 |
22 May 07 |
nicklas |
289 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
290 |
|
3363 |
22 May 07 |
nicklas |
291 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
292 |
<term><property>agent.executor.process.options</property></term> |
3363 |
22 May 07 |
nicklas |
293 |
<listitem> |
3363 |
22 May 07 |
nicklas |
294 |
<para> |
3363 |
22 May 07 |
nicklas |
295 |
Optional. Additional command line options to the Java executable. |
3363 |
22 May 07 |
nicklas |
296 |
Do not add memory options (<option>-Mx</option> or |
3363 |
22 May 07 |
nicklas |
297 |
<option>-Ms</option>), it will be added automatically by the |
3363 |
22 May 07 |
nicklas |
298 |
executor. This setting is used by the |
3944 |
09 Nov 07 |
martin |
299 |
<classname docapi="net.sf.basedb.clients.jobagent.executors">ProcessJobExecutor</classname> only. |
3363 |
22 May 07 |
nicklas |
300 |
</para> |
3363 |
22 May 07 |
nicklas |
301 |
</listitem> |
3363 |
22 May 07 |
nicklas |
302 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
303 |
|
3363 |
22 May 07 |
nicklas |
304 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
305 |
<term><property>agent.executor.dummy.wait</property></term> |
3363 |
22 May 07 |
nicklas |
306 |
<listitem> |
3363 |
22 May 07 |
nicklas |
307 |
<para> |
3944 |
09 Nov 07 |
martin |
308 |
Optional. Number of seconds the <classname docapi="net.sf.basedb.clients.jobagent.executors">DummyJobExecutor</classname> should |
3363 |
22 May 07 |
nicklas |
309 |
wait before returning from the "job execution". The executor first sets |
3363 |
22 May 07 |
nicklas |
310 |
the progress to 50% then waits the specified number of seconds before |
3363 |
22 May 07 |
nicklas |
311 |
setting the job to completed. If no value is specified it returns immediately. |
3363 |
22 May 07 |
nicklas |
312 |
</para> |
3363 |
22 May 07 |
nicklas |
313 |
</listitem> |
3363 |
22 May 07 |
nicklas |
314 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
315 |
|
3363 |
22 May 07 |
nicklas |
316 |
<varlistentry> |
3363 |
22 May 07 |
nicklas |
317 |
<term><property>agent.checkinterval</property></term> |
3363 |
22 May 07 |
nicklas |
318 |
<listitem> |
3363 |
22 May 07 |
nicklas |
319 |
<para> |
3411 |
30 May 07 |
jari |
320 |
Optional. Number of seconds between querying the database |
3363 |
22 May 07 |
nicklas |
321 |
for jobs that are waiting for execution. The default value |
3363 |
22 May 07 |
nicklas |
322 |
is 30 seconds. |
3363 |
22 May 07 |
nicklas |
323 |
</para> |
3363 |
22 May 07 |
nicklas |
324 |
</listitem> |
3363 |
22 May 07 |
nicklas |
325 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
326 |
|
3363 |
22 May 07 |
nicklas |
327 |
</variablelist> |
3363 |
22 May 07 |
nicklas |
328 |
</simplesect> |
3363 |
22 May 07 |
nicklas |
329 |
|
3363 |
22 May 07 |
nicklas |
330 |
<simplesect id="appendix.jobagent.properties.slots"> |
3363 |
22 May 07 |
nicklas |
331 |
<title>Slots and priorities</title> |
3363 |
22 May 07 |
nicklas |
332 |
|
3363 |
22 May 07 |
nicklas |
333 |
<para> |
3487 |
13 Jun 07 |
peter |
334 |
The job agent does not execute an arbitrary number of jobs simultaneously. |
5448 |
19 Oct 10 |
nicklas |
335 |
This would sooner or later break the server. A <emphasis>slot manager</emphasis> |
5448 |
19 Oct 10 |
nicklas |
336 |
is used to assign jobs to a pre-configured number of slots. |
3363 |
22 May 07 |
nicklas |
337 |
</para> |
5448 |
19 Oct 10 |
nicklas |
338 |
|
5448 |
19 Oct 10 |
nicklas |
339 |
<variablelist> |
5448 |
19 Oct 10 |
nicklas |
340 |
<varlistentry> |
5448 |
19 Oct 10 |
nicklas |
341 |
<term><property>agent.slotmanager.class</property></term> |
5448 |
19 Oct 10 |
nicklas |
342 |
<listitem> |
5448 |
19 Oct 10 |
nicklas |
343 |
<para> |
5448 |
19 Oct 10 |
nicklas |
344 |
The name of the Java class that handles slot assignment to |
5448 |
19 Oct 10 |
nicklas |
345 |
jobs. The standard job agent ships with three different |
5448 |
19 Oct 10 |
nicklas |
346 |
implementations: |
5448 |
19 Oct 10 |
nicklas |
347 |
|
5448 |
19 Oct 10 |
nicklas |
348 |
<itemizedlist> |
5448 |
19 Oct 10 |
nicklas |
349 |
<listitem> |
5448 |
19 Oct 10 |
nicklas |
350 |
<para> |
5448 |
19 Oct 10 |
nicklas |
351 |
<classname docapi="net.sf.basedb.clients.jobagent.slotmanager"> |
5448 |
19 Oct 10 |
nicklas |
352 |
net.sf.basedb.clients.jobagent.slotmanager.InternalSlotManager |
5448 |
19 Oct 10 |
nicklas |
353 |
</classname>: This is the default slot manager. It uses a simple system with four different slots. |
5448 |
19 Oct 10 |
nicklas |
354 |
Each slot is reserved for jobs that are estimated to be finished in a certain amount of time. |
5448 |
19 Oct 10 |
nicklas |
355 |
The exception is that a quick job may use a slot with longer expected time |
5448 |
19 Oct 10 |
nicklas |
356 |
since that will not block the slot very long. See the table below for default |
5448 |
19 Oct 10 |
nicklas |
357 |
settings. |
5448 |
19 Oct 10 |
nicklas |
358 |
</para> |
5448 |
19 Oct 10 |
nicklas |
359 |
</listitem> |
5448 |
19 Oct 10 |
nicklas |
360 |
|
5448 |
19 Oct 10 |
nicklas |
361 |
<listitem> |
5448 |
19 Oct 10 |
nicklas |
362 |
<para> |
5448 |
19 Oct 10 |
nicklas |
363 |
<classname docapi="net.sf.basedb.clients.jobagent.slotmanager"> |
5448 |
19 Oct 10 |
nicklas |
364 |
net.sf.basedb.clients.jobagent.slotmanager.MasterSlotManager |
5448 |
19 Oct 10 |
nicklas |
365 |
</classname>: This is an extension to the internal slot manager |
5448 |
19 Oct 10 |
nicklas |
366 |
that also accepts requests for slot assignments from other |
5448 |
19 Oct 10 |
nicklas |
367 |
job agents. The other job agent(s) should be using the |
5448 |
19 Oct 10 |
nicklas |
368 |
<classname docapi="net.sf.basedb.clients.jobagent.slotmanager">RemoteSlotManager</classname>. |
5448 |
19 Oct 10 |
nicklas |
369 |
This makes it possible for a number of job agents to share a |
5448 |
19 Oct 10 |
nicklas |
370 |
common pool of slots to avoid bottlenecks, for example, at the |
5448 |
19 Oct 10 |
nicklas |
371 |
database level. |
5448 |
19 Oct 10 |
nicklas |
372 |
</para> |
5448 |
19 Oct 10 |
nicklas |
373 |
|
5448 |
19 Oct 10 |
nicklas |
374 |
</listitem> |
5448 |
19 Oct 10 |
nicklas |
375 |
|
5448 |
19 Oct 10 |
nicklas |
376 |
<listitem> |
5448 |
19 Oct 10 |
nicklas |
377 |
<para> |
5448 |
19 Oct 10 |
nicklas |
378 |
<classname docapi="net.sf.basedb.clients.jobagent.slotmanager"> |
5448 |
19 Oct 10 |
nicklas |
379 |
net.sf.basedb.clients.jobagent.slotmanager.RemoteSlotManager |
5448 |
19 Oct 10 |
nicklas |
380 |
</classname>: The remote slot manager connects with another job agent |
5448 |
19 Oct 10 |
nicklas |
381 |
(running with a |
5448 |
19 Oct 10 |
nicklas |
382 |
<classname docapi="net.sf.basedb.clients.jobagent.slotmanager">MasterSlotManager</classname>) |
5448 |
19 Oct 10 |
nicklas |
383 |
and asks it for a slot. When this slot manager is used you need to |
5448 |
19 Oct 10 |
nicklas |
384 |
specify the ip-address/name and port of the job agent running the |
5448 |
19 Oct 10 |
nicklas |
385 |
master slot manager. |
5448 |
19 Oct 10 |
nicklas |
386 |
</para> |
5448 |
19 Oct 10 |
nicklas |
387 |
</listitem> |
5448 |
19 Oct 10 |
nicklas |
388 |
</itemizedlist> |
5448 |
19 Oct 10 |
nicklas |
389 |
|
5448 |
19 Oct 10 |
nicklas |
390 |
It is possible to create your own implementation of a slot manager. |
5448 |
19 Oct 10 |
nicklas |
391 |
Create a class that implements the |
5448 |
19 Oct 10 |
nicklas |
392 |
<interfacename docapi="net.sf.basedb.clients.jobagent.slotmanager">net.sf.basedb.clients.jobagent.slotmanager.SlotManager</interfacename> |
5448 |
19 Oct 10 |
nicklas |
393 |
interface. |
5448 |
19 Oct 10 |
nicklas |
394 |
</para> |
5448 |
19 Oct 10 |
nicklas |
395 |
</listitem> |
5448 |
19 Oct 10 |
nicklas |
396 |
</varlistentry> |
3363 |
22 May 07 |
nicklas |
397 |
|
5448 |
19 Oct 10 |
nicklas |
398 |
<varlistentry> |
5448 |
19 Oct 10 |
nicklas |
399 |
<term><property>agent.slotmanager.remote.server</property></term> |
5448 |
19 Oct 10 |
nicklas |
400 |
<listitem> |
5448 |
19 Oct 10 |
nicklas |
401 |
<para> |
5448 |
19 Oct 10 |
nicklas |
402 |
The ip-adress or name of a job agent running as the master slot manager. |
5448 |
19 Oct 10 |
nicklas |
403 |
This setting is needed by the <classname |
5448 |
19 Oct 10 |
nicklas |
404 |
docapi="net.sf.basedb.clients.jobagent.slotmanager">RemoteSlotManager</classname>. |
5448 |
19 Oct 10 |
nicklas |
405 |
</para> |
5448 |
19 Oct 10 |
nicklas |
406 |
</listitem> |
5448 |
19 Oct 10 |
nicklas |
407 |
</varlistentry> |
5448 |
19 Oct 10 |
nicklas |
408 |
|
5448 |
19 Oct 10 |
nicklas |
409 |
<varlistentry> |
5448 |
19 Oct 10 |
nicklas |
410 |
<term><property>agent.slotmanager.remote.port</property></term> |
5448 |
19 Oct 10 |
nicklas |
411 |
<listitem> |
5448 |
19 Oct 10 |
nicklas |
412 |
<para> |
5448 |
19 Oct 10 |
nicklas |
413 |
The remote control port number of the job agent running as the |
5448 |
19 Oct 10 |
nicklas |
414 |
master slot manager. Make sure that the master job agent is accepting connection |
5448 |
19 Oct 10 |
nicklas |
415 |
from this job agent. This setting is needed by the <classname |
5448 |
19 Oct 10 |
nicklas |
416 |
docapi="net.sf.basedb.clients.jobagent.slotmanager">RemoteSlotManager</classname>. |
5448 |
19 Oct 10 |
nicklas |
417 |
</para> |
5448 |
19 Oct 10 |
nicklas |
418 |
</listitem> |
5448 |
19 Oct 10 |
nicklas |
419 |
</varlistentry> |
5448 |
19 Oct 10 |
nicklas |
420 |
</variablelist> |
5448 |
19 Oct 10 |
nicklas |
421 |
|
5448 |
19 Oct 10 |
nicklas |
422 |
|
3363 |
22 May 07 |
nicklas |
423 |
<para> |
5448 |
19 Oct 10 |
nicklas |
424 |
This table lists slot settings for the internal and master |
5448 |
19 Oct 10 |
nicklas |
425 |
slot managers. The remote slot manager will get slots from |
5448 |
19 Oct 10 |
nicklas |
426 |
another job agent. |
5448 |
19 Oct 10 |
nicklas |
427 |
A thread priority is associated with each slot. |
5448 |
19 Oct 10 |
nicklas |
428 |
The priority is a value between 1 and 10 as defined by the |
4195 |
25 Mar 08 |
nicklas |
429 |
<ulink url="http://java.sun.com/javase/6/docs/api/java/lang/Thread.html" |
5448 |
19 Oct 10 |
nicklas |
430 |
><classname>java.lang.Thread</classname></ulink> class. The |
5448 |
19 Oct 10 |
nicklas |
431 |
priorities are not handled by the slot managers, but by the job |
5448 |
19 Oct 10 |
nicklas |
432 |
agent core and apply to all job agents, no matter which slot manager |
5448 |
19 Oct 10 |
nicklas |
433 |
that is selected. |
3363 |
22 May 07 |
nicklas |
434 |
</para> |
3363 |
22 May 07 |
nicklas |
435 |
|
5448 |
19 Oct 10 |
nicklas |
436 |
<informaltable frame="all" align="center"> |
5448 |
19 Oct 10 |
nicklas |
437 |
<tgroup cols="3"> |
5448 |
19 Oct 10 |
nicklas |
438 |
<colspec colname="property" /> |
5448 |
19 Oct 10 |
nicklas |
439 |
<colspec colname="default" align="center"/> |
5448 |
19 Oct 10 |
nicklas |
440 |
<colspec colname="time" /> |
5448 |
19 Oct 10 |
nicklas |
441 |
<thead> |
5448 |
19 Oct 10 |
nicklas |
442 |
<row> |
5448 |
19 Oct 10 |
nicklas |
443 |
<entry>Property</entry> |
5448 |
19 Oct 10 |
nicklas |
444 |
<entry>Default value</entry> |
5448 |
19 Oct 10 |
nicklas |
445 |
<entry>Estimated execution time</entry> |
5448 |
19 Oct 10 |
nicklas |
446 |
</row> |
5448 |
19 Oct 10 |
nicklas |
447 |
</thead> |
5448 |
19 Oct 10 |
nicklas |
448 |
|
5448 |
19 Oct 10 |
nicklas |
449 |
<tbody> |
5448 |
19 Oct 10 |
nicklas |
450 |
<row> |
5448 |
19 Oct 10 |
nicklas |
451 |
<entry>agent.shortest.slots</entry> |
5448 |
19 Oct 10 |
nicklas |
452 |
<entry>1</entry> |
5448 |
19 Oct 10 |
nicklas |
453 |
<entry morerows="1">< 1 minute</entry> |
5448 |
19 Oct 10 |
nicklas |
454 |
</row> |
5448 |
19 Oct 10 |
nicklas |
455 |
<row> |
5448 |
19 Oct 10 |
nicklas |
456 |
<entry>agent.shortest.priority</entry> |
5448 |
19 Oct 10 |
nicklas |
457 |
<entry>4</entry> |
5448 |
19 Oct 10 |
nicklas |
458 |
</row> |
5448 |
19 Oct 10 |
nicklas |
459 |
<row> |
5448 |
19 Oct 10 |
nicklas |
460 |
<entry>agent.short.slots</entry> |
5448 |
19 Oct 10 |
nicklas |
461 |
<entry>1</entry> |
5448 |
19 Oct 10 |
nicklas |
462 |
<entry morerows="1">< 10 minutes</entry> |
5448 |
19 Oct 10 |
nicklas |
463 |
</row> |
5448 |
19 Oct 10 |
nicklas |
464 |
<row> |
5448 |
19 Oct 10 |
nicklas |
465 |
<entry>agent.short.priority</entry> |
5448 |
19 Oct 10 |
nicklas |
466 |
<entry>4</entry> |
5448 |
19 Oct 10 |
nicklas |
467 |
</row> |
5448 |
19 Oct 10 |
nicklas |
468 |
<row> |
5448 |
19 Oct 10 |
nicklas |
469 |
<entry>agent.medium.slots</entry> |
5448 |
19 Oct 10 |
nicklas |
470 |
<entry>2</entry> |
5448 |
19 Oct 10 |
nicklas |
471 |
<entry morerows="1">< 1 hour</entry> |
5448 |
19 Oct 10 |
nicklas |
472 |
</row> |
5448 |
19 Oct 10 |
nicklas |
473 |
<row> |
5448 |
19 Oct 10 |
nicklas |
474 |
<entry>agent.medium.priority</entry> |
5448 |
19 Oct 10 |
nicklas |
475 |
<entry>3</entry> |
5448 |
19 Oct 10 |
nicklas |
476 |
</row> |
5448 |
19 Oct 10 |
nicklas |
477 |
<row> |
5448 |
19 Oct 10 |
nicklas |
478 |
<entry>agent.long.slots</entry> |
5448 |
19 Oct 10 |
nicklas |
479 |
<entry>2</entry> |
5448 |
19 Oct 10 |
nicklas |
480 |
<entry morerows="1">> 1 hour</entry> |
5448 |
19 Oct 10 |
nicklas |
481 |
</row> |
5448 |
19 Oct 10 |
nicklas |
482 |
<row> |
5448 |
19 Oct 10 |
nicklas |
483 |
<entry>agent.long.priority</entry> |
5448 |
19 Oct 10 |
nicklas |
484 |
<entry>3</entry> |
5448 |
19 Oct 10 |
nicklas |
485 |
</row> |
5448 |
19 Oct 10 |
nicklas |
486 |
</tbody> |
5448 |
19 Oct 10 |
nicklas |
487 |
</tgroup> |
5448 |
19 Oct 10 |
nicklas |
488 |
</informaltable> |
3363 |
22 May 07 |
nicklas |
489 |
|
3363 |
22 May 07 |
nicklas |
490 |
</simplesect> |
3363 |
22 May 07 |
nicklas |
491 |
|
3363 |
22 May 07 |
nicklas |
492 |
|
3334 |
14 May 07 |
nicklas |
493 |
</appendix> |
3334 |
14 May 07 |
nicklas |
494 |
|