You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2013/06/07 14:00:34 UTC
svn commit: r1490601 [1/2] - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook:
part2/ part2/cli/ part2/webserver/ part4/admin/
Author: challngr
Date: Fri Jun 7 12:00:33 2013
New Revision: 1490601
URL: http://svn.apache.org/r1490601
Log:
UIMA-2682 More doc updates.
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver/services.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver/system.tex
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-cancel.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-perf-stats.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-cancel.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-submit.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-reserve.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-cancel.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-submit.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-services.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-unreserve.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/ducc-api.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/job-logs.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/services.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver/job-details.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver/jobs.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part4/admin/ducc-properties.tex
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-cancel.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-cancel.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-cancel.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-cancel.tex Fri Jun 7 12:00:33 2013
@@ -13,7 +13,7 @@
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-cancel.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-cancel {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_cancel {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-cancel.jar org.apache.uima.ducc.cli.DuccJobCancel {\em options}
\end{description}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-perf-stats.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-perf-stats.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-perf-stats.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-perf-stats.tex Fri Jun 7 12:00:33 2013
@@ -4,7 +4,7 @@
\HCode{<a name='DUCC_CLI_PERF_STATS'></a>}
\fi
\section{ducc\_perf\_stats}
-
+ \label{sec:cli.ducc-perf-stats}
\paragraph{Description:}
This CLI is used to format job history and performance data into CSV or (mostly) human readable
form for post-analysis. This may be run while a job is executing to monitor the current job, or
@@ -14,7 +14,7 @@
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-perf-stats.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-perf-stats {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_perf\_stats {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-perf-stats.jar org.apache.uima.ducc.cli.DuccPerfStats {\em options}
\end{description}
@@ -23,7 +23,7 @@
\item[--job id] This specifies the job to report on.
\item[--directory dir] This specifies the job's log directory. (DUCC writes usage information into this
directory.)
- \item[--report {[summary | workitems | provesses]}]
+ \item[--report {[summary or workitems or processes]}]
This specifies the type of report:
\begin{description}
\item[summary] This produces a per-AE summary of the performance of that AE, including
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-cancel.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-cancel.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-cancel.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-cancel.tex Fri Jun 7 12:00:33 2013
@@ -10,7 +10,7 @@
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-process-cancel.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-process-cancel {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_process\_cancel {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-process-cancel.jar org.apache.uima.ducc.cli.DuccManagedReservationCancel {\em options}
\end{description}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-submit.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-submit.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-submit.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-process-submit.tex Fri Jun 7 12:00:33 2013
@@ -7,9 +7,9 @@
\paragraph{Description:}
Usse {\em ducc\_process\_submit} to submit a Managed Reservation, also known as an
- arbitrary process to DUCC. The process launched is any process at all. The intention
- of this function is an alternative to utilities such as {\em ssh}, such that the
- spawned processes are fully managed by DUCC. This allows the DUCC scheduler to allocate
+ arbitrary process to DUCC. The intention
+ of this function is an alternative to utilities such as {\em ssh}, in order to allow the
+ spawned processes to be fully managed by DUCC. This allows the DUCC scheduler to allocate
the necessary resources (and prevent over-allocation), and the DUCC runtime environment
to manage process lifetime.
@@ -20,35 +20,57 @@
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-process-submit.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-process-submit {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_process\_submit {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-process-submit.jar org.apache.uima.ducc.cli.DuccManagedReservationCancel {\em options}
\end{description}
\paragraph{Options:}
\begin{description}
- \item[--cancel\_managed\_reservation\_on\_interrupt ] Cancel managed reservation on interrupt
+ \item[--cancel\_on\_interrupt ] Cancel managed reservation on interrupt
(Ctrl-C). If running with {\em--wait\_for\_completion} and this flag is specified,
terminating the submit process will result in the remote process being terminated.
- \item[--description {[text]}] The text is any string used to describe the process. It is
+ \item[--description {[text]}] The text is any (quoted) string used to describe the process. It is
displayed in the Web Server.
\item[--debug ] Prints internal debugging information, intended for DUCC developers or
extended problem determination.
- \item[--environment {[env vars]}] Blank-delimeted list of environment variables. example:
- "TERM=xterm DISPLAY=me.org.net:1.0". If specified, this is set in the remote process as
- it is spawned.
+ \item[--environment {[env vars]}] Blank-delimeted list of environment variables. If
+ specified, this is used for all DUCC processes in the job.Example:
+\begin{verbatim}
+ --environment "TERM=xterm DISPLAY=me.org.net:1.0".
+\end{verbatim}
+
+ Note: On Secure Linux systems, the environemnt variable
+ LD\_LIBRARY\_PATH may not be passed to the user's program. If it is
+ necessary to pass LD\_LIBRARY\_PATH to the JP or JD processes, it must be
+ specified as DUCC\_LD\_LIBRARY\_PATH. Ducc (securely) passes this as
+ LD\_LIBRARY\_PATH, after the JP or JD has assumed the user's identity. For
+ example:
+ \begin{verbatim}
+-environment TERM=xterm DISPLAY=:1.0 DUCC\_LD\_LIBRARY\_PATH=/my/own/path
+ \end{verbatim}
\item[--help] Prints the usage text to the console.
- \item[--log\_directory {[path-to-log directory]} ] This specifies the path to the directory
- for the user logs. If not specified, the default is the user's home directory.
+ \item[--log\_directory {[path-to-log directory]} ]
+
+ This specifies the path to the directory for the user logs. If not specified, the default is the
+ user's home directory. Example:
+\begin{verbatim}
+--log\_directory /home/bob
+\end{verbatim}
- Within this directory DUCC creates a subdirectory for each job, using the numerical
- ID of the job. The format of the generated log file names is descripbed in Chapter 5, Job
- Logs [47].
+ Within this directory DUCC creates a subdirectory for each process, using the numerical
+ ID of the job. The format of the generated log file names as described
+ \hyperref[chap:job-logs]{here}.
+
+ Note: Note that --log\_directory specifies only the path to a directory where
+ logs are to be stored. In order to manage multiple processes running in multiple
+ machines DUCC, sub-directory and file names are generated by DUCC and may
+ not be directly specified.
\item[--process\_attach\_console] If specified, redirect remote process (as
opposed to driver) stdout and stderr to the local submitting console.
@@ -98,12 +120,12 @@ ducc_process_submit --specification job.
where the job.props contains:
\begin{verbatim}
-working\_directory=/Users/challngr/projects/ducc/ducc\_test/test/bin
-process\_environment=AE\_INIT\_TIME=10000 DUCC\_LD\_LIBRARY\_PATH=/a/bogus/path
-log\_directory=/Users/challngr/ducc/logs/
-description=../simple/jobs/1.job[AE]
-scheduling\_class=normal
-process\_memory\_size=15
+working_directory = /home/bob/projects
+process_environment = AE_INIT_TIME=10000 DUCC_LD_LIBRARY_PATH=/a/bogus/path
+log_directory = /home/bob/ducc/logs/
+description = Simple Process
+scheduling_class = fixed
+process_memory_size = 15
\end{verbatim}
\item[--wait\_for\_completion ] If specified, the submit command does not return control to
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-reserve.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-reserve.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-reserve.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-reserve.tex Fri Jun 7 12:00:33 2013
@@ -12,10 +12,14 @@
performeed on an "all-or-nothing" basis: either the entire set of requested resources is reserved,
or the reservation request fails.
+ All forms of the ducc\_reserve block until the reservation is complete at which point the DUCC
+ ID of the reservation and the names of the reserved nodes are printed to the console and the
+ command returns.
+
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-reserve.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-reserve {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_reserve {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-reserve.jar org.apache.uima.ducc.cli.DuccReservationSubmit {\em options}
\end{description}
@@ -31,24 +35,21 @@
\item[--help ]
Prints the usage text to the console.
-
- \item[--debug ]
- Prints internal debugging information, intended for DUCC developers or extended problem determination.
-
- \item[--number-of-instances {[integer]}]
- This specifies the number of full or partial machine reservations to schedule.
-
- \item[--instance-memory-size {[KB|MB|GB|TB]}]]
+
+ \item[--instance\_memory\_size {[KB|MB|GB|TB]}]]
This specifies the amount of memory the reserved machine must supoprt. For full machine
reservations, this is the total memory on the machine. For partial reservations, the machine
may have more memory, but not less than is specified.
-
+
+ \item[--number\_of\_instances {[integer]}]
+ This specifies the number of full or partial machine reservations to schedule.
+
\item[--scheduling\_class {[classname]}]
This specifies the name of the scheuling class the RM will use to determine the resource
allocation for each process. The default DUCC distribution provides class "reserve" for full
machine reservations, and "fixed" for partial machine reservations.
- \item[--specifiecaiton {[file]}]
+ \item[-f, --specifiecaiton {[file]}]
All the parameters used to request a reservation may be placed in a standard Java
properties file. This file may then be used to submit the request (rather than providing all
the parameters directory to submit).
@@ -56,11 +57,11 @@
\end{description}
\paragraph{Notes:}
- Reservations may be for full machines, or partial machines based on memory. The mechanism
- for distinguishing which type of reservation the job class. A job class implementing the
- RESERVE scheduling policy results in a full machine being reserved. A job clas simplementing
- the FIXED scheduling policy results in a partial machine being reserved. The default DUCC
- distribution configures class reserve for full machine reservations, and class fixed for partial
- reservations.
+ Reservations may be for full machines, or partial machines based on memory. The mechanism for
+ distinguishing which type of reservation the job class. A job class implementing the RESERVE
+ scheduling policy results in a full machine being reserved. A job clas simplementing the FIXED
+ scheduling policy results in a partial machine being reserved. The default DUCC distribution
+ configures class {\em reserve} for full machine reservations, and class {\em fixed} for partial
+ machine reservations.
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-cancel.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-cancel.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-cancel.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-cancel.tex Fri Jun 7 12:00:33 2013
@@ -4,13 +4,13 @@
\HCode{<a name='DUCC_CLI_SERVICE_CANCEL'></a>}
\fi
\section{ducc\_service\_cancel}
-
+ \label{sec:cli.service-cancel}
\paragraph{Description:}
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-service-cancel.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-service-cancel {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_service\_cancel {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-service-cancel.jar org.apache.uima.ducc.cli.DuccServiceCancel {\em options}
\end{description}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-submit.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-submit.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-submit.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-service-submit.tex Fri Jun 7 12:00:33 2013
@@ -6,89 +6,94 @@
\section{ducc\_service\_submit}
\label{sec:cli.service-submit}
\paragraph{Description:}
- The ducc\_service\_submit CLI is used to submit a job as a service to DUCC. The CLI is similar to
+ The ducc\_service\_submit CLI is used to submit work as a service to DUCC. The CLI is similar to
ducc\_submit with the following key differences:
\begin{itemize}
\item There is no Collection Reader.
-
- \item There is no Job monitor for services because services don't generally end of their own
- accord.
- \end{itemize}
+ \item There is no Job Monitor for services.
+ \end{itemize}
- Service jobs must supply a fully-formed DD XML descriptor. On submission of a service, the
- DUCC CLI examines the service DD descriptor for the queue name, and the supplied jvm\_args for
- a broker URL. It forms a service ID of the following form which may be referenced in the
- --service\_dependency clauses of jobs and services which are dependent on this service:
-\begin{verbatim}
-UIMA-AS:[queue-name]:[broker-url]
-\end{verbatim}
-
- The {\em queue-name} is the ActiveMQ queue name used by the service.
-
- The {\em ducc\_service\_submit} and {\em ducc\_service\_cancel} commands are primarily used by
- the DUCC Service Manager for starting and stopping instances of registered services. It is legal
- and supported for these to be used outside of the context of registered services, however. DUCC
- recognizes the processes as service processes and manages dependencies accordinly.
+ The {\em ducc\_service\_submit} and \hyperref[sec:cli.service-cancel]{{\em
+ ducc\_service\_cancel}} commands are primarily used by the DUCC Service Manager for starting
+ and stopping instances of registered services. It is legal and supported for these to be used
+ outside of the context of registered services. DUCC will attempt to restart failed services
+ instances up to a configurable limit. DUCC will NOT restart submitted services aftar a
+ system failure however. If full restart after system failure is required, one must
+ \hyperref[subsec:cli.ducc-services.register]{register} the service.
+
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-sesrvice-submit.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-service-submit {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_service\_submit {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-service-submit.jar org.apache.uima.ducc.cli.DuccServiceSubmit {\em options}
\end{description}
\paragraph{Options:}
\begin{description}
- \item[--classpath] The classpath used for the service.
+ \item[--classpath] The classpath used for the service, if the service is a
+ \hyperref[sec:services.types]{UIMA-AS services}.
- \item[--classpath\_order {[UserBeforeDucc | DuccBeforeUser]} ]
- When DUCC deploys a process, set the user-supplied classpath before DUCC-supplied
- classpath, or the reverse.
+ \item[--classpath\_order {[UserBeforeDucc | DuccBeforeUser]} ] When DUCC deploys a process,
+ set the user-supplied classpath before DUCC-supplied classpath, or the reverse, if the
+ service is a \hyperref[sec:services.types]{UIMA-AS services}.
\item[--debug ]
Enable debugging messages. This is primarily for debugging DUCC itself.
- \item[--description {[text]}] The text is any string used to describe the job. It is displayed
- in the Web Server.
-
- \item[--environment {[env vars]}] Blank-delimeted list of environment variables. Example:
+ \item[--description {[text]}] The text is any quoted string used to describe the job. It is
+ displayed in the Web Server.
+
+ \item[--environment {[env vars]}]
+ This specifies environment parameters for the Service. If present, they are added
+ to the Job Process environment as the process is spawned. It must be a quoted, blankdelimeted
+ lsit of name-value pairs. For example:
\begin{verbatim}
-"TERM=xterm DISPLAY=me.org.net:1.0".
+
+--environment 'TERM=xterm DISPLAY=:1.0'
\end{verbatim}
+
+ Note: On Secure Linux systems, the environemnt variable
+ LD\_LIBRARY\_PATH may not be passed to the user's program. If it is
+ necessary to pass LD\_LIBRARY\_PATH to the JP or JD processes, it must be
+ specified as DUCC\_LD\_LIBRARY\_PATH. Ducc (securely) passes this as
+ LD\_LIBRARY\_PATH, after the JP or JD has assumed the user's identity. For
+ example:
- \item[--help ]
- This prints the usage text to the console.
+ \item[--help ] This prints the usage text to the console.
- \item[--jvm {[path-to-java]}] This specifies the JVM to use. If not specified, the same JVM
- used by the Agents is used.
+ \item[--jvm {[path-to-java]}] This specifies the JVM to use for
+ \hyperref[sec:services.types]{UIMA-AS services}. If not
+ specified, the same JVM used by the Agents is used.
- \item[--jvm\_args {[list]} ]
- This specifes extra JVM arguments to be provided to the server process. It is a blank delimeted
- list of strings. Example:
+ \item[--jvm\_args {[list]} ]
+ This specifes extra JVM arguments to be provided to the server process for
+ \hyperref[sec:services.types]{UIMA-AS services}. It is a blank delimeted
+ list of strings. Example:
\begin{verbatim}
---jvm_args -Xmx100M -Xms50M
+--jvm_args '-Xmx100M -Xms50M'
\end{verbatim}
- \item[--log\_directory {[path-to-log directory]}]
- This specifies the path to the directory for the user logs. If not specified, the default is the
- user's home directory. Example:
-
+ \item[--log\_directory {[path-to-log directory]}] This specifies the path to the directory for
+ the individual service instance logs. If not specified, the default is the user's home
+ directory. Example:
+\begin{verbatim}
+--log\_directory /home/bob
+\end{verbatim}
+
Within this directory DUCC creates a subdirectory for each job, using the numerical
- ID of the job. The format of the generated log file names is described ELSEWHERE.NEED.REF.
-
+ ID of the job. The format of the generated log file names as described
+ \hyperref[chap:job-logs]{here}.
+
Note: Note that --log\_directory specifies only the path to a directory where
logs are to be stored. In order to manage multiple processes running in multiple
machines DUCC, sub-directory and file names are generated by DUCC and may
- not be directly controlled by the user.
-
- \item[--process\_classpath {[ClASSPATH]}]
- This specifies the Java CLASSPATH to use in each Job Process (JP) and must be
- specified.
+ not be directly specified.
\item[--process\_DD {[DD descriptor]}]
- This specifies the UIMA Deployment Descriptor for the service.
+ This specifies the UIMA Deployment Descriptor for \hyperref[sec:services.types]{UIMA-AS services}.
\item[--process\_environment {[environment]}] This specifies environment parameters for the Job
Processes. If present, they are added to the Job Process environment as the process is
@@ -101,45 +106,33 @@ UIMA-AS:[queue-name]:[broker-url]
LD\_LIBRARY\_PATH, after the JP or JD has assumed the user's identity. For
example:
\begin{verbatim}
-"--process_environment TERM=xterm DISPLAY=:1.0 DUCC_LD_LIBRARY_PATH=/my/own/lib.so"
+--process_environment TERM=xterm DISPLAY=:1.0 DUCC_LD_LIBRARY_PATH=/my/own/lib.so
\end{verbatim}
-
- \item[--process\_failures\_limit {[integer]}]
- This specifies the maximum number of individual Job Process (JP) failures that are to be
- tolerated before killing the job. The default is 15. If this limit is exceeded over the lifetime
- of a job DUCC terminates the entire job.
-
- \item[--process\_initialization\_failures\_cap {[integer]}]
- This specifies the maximum number of independent Job Process initialization failures (i.e.
- System.exit(), kill-15...) before the number of Job Processes is capped at the number in
- state Running currently. The default is 99.
- Note that the job is NOT killed if there are processes that have passed initialization and are
- running. If this limit is reached, the only action is to not start new processes for the job.
+ \item[--process\_executable {[program-name]}] For \hyperref[sec:services.types]{CUSTOM
+ services}, the full path of the program to execute.
- \item[--process\_jvm\_args {[list]}]
- This specifies additinal arguments to be passed to the Job Process JVM. Example:
-\begin{verbatim}
---process_jvm_args -Xmx400M -Xms100M
-\end{verbatim}
+ \item[--process\_executable\_args {[list-of-arguments]}] For \hyperref[sec:services.types]{CUSTOM
+ services}, the program arguments, if any.
+
+ \item[--process\_failures\_limit {[integer]}]
+ This specifies the maximum number of consecutive individual service instance failures that are to be
+ tolerated before stopping the service. The default is 5. If the instance is successfully
+ restarted, the count is reset to 0, so that the occasional process failure does not cause
+ the entire service to be canceled.
\item[--process\_memory\_size {[size]}] This specifies the maximum amount of RAM in GB to be
allocated to each Job Process. This value is used by the Resource Manager to allocate
- resources. if this amount is exceeded by a Job Process the Agent terminates the process with
- a ShareSizeExceeded message.
+ resources.
\item[--scheduling\_class {[classname]}] This specifies the name of the scheuling class the RM
will use to determine the resource allocation for each process. The names of the classes are
installation dependent. If not specified, the default is taken from the global DUCC
- configuration ducc.properties.
+ configuration \hyperref[sec:ducc.properties]{ducc.properties.}
\item[--service\_dependency{[list]}] This specifies a comma-delimeted list of services the job
- processes are dependent upon. Each endpoint must be of the form UIMA-AS:endpoint:broker\_url
- where endpoint is the UIMA-AS service endpoint and broker\_url is the ActiveMQ broker URL.
-
- In the example are two dependencies, one with endpoint RandomSleepAE and broker
- tcp:bluej682:61616, and the other with endpoint OtherEp and broker URL
- tcp:bluej123:123. Example:
+ processes are dependent upon. Service dependencies are discussed in detail
+ \hyperref[sec:service.endpoints]{here}. Example:
\begin{verbatim}
--service_dependency UIMA-AS:RandomSleepAE:tcp:bluej682:61616 UIMA-AS:OtherEp:tcp:bluej123:123
\end{verbatim}
@@ -147,23 +140,27 @@ UIMA-AS:[queue-name]:[broker-url]
\item[--service\_linger {[seconds]}] This is the time in milliseconds to wait after last
referring job or service exits before stopping a non-autostarted service.
- \item[--service\_ping\_class {[classname]}] This is the class used to ping a service, if the
- default DUCC-supplied class is not used. It is always required for CUSTOM services, and
- may be specified to override the default for UIMA-AS services. It must extend
- org.apache.uima.ducc.common.AServicePing.
+ \item[--service\_ping\_class {[classname]}] This is the class used to ping a service. If
+ omitted and the service is a \hyperref[sec:services.types]{UIMA-AS service}, DUCC will
+ supply a default pinger. See \hyperref[sec:service.pingers]{Service Pingers} for a
+ discussion of the pingers.
\item[--service\_ping\_classpath {[classpath]}] If {\em service\_ping\_class} is specified,
this is the classpath containing service\_custom\_ping class and dependencies. If not
- specified, the Agent's classpath is used (which usually is not correct!).
+ specified, the Agent's classpath is used (which will generally be incorrect.)
\item[--service\_ping\_dolog {[boolean]}] If specified, write pinger stdout and stderr
- messages to a log, else suppress the log.
-
- \item[--service\_ping\_jvm\_args {[java-system-property-assignments]}] -D jvm system property
- assignments to pass to jvm when running the pinger.
+ messages to a log, else suppress the log. See \hyperref[sec:service.pingers]{Service Pingers}
+ for details.
- \item[--service\_ping\_timeout {[time-in-ms]}] This is the time in milliseconds to wait for a ping to the
- service.
+ \item[--service\_ping\_jvm\_args {[java-system-property-assignments]}] If
+ {\em service\_ping\_class} is specified, these are the arguments
+ to pass to jvm when running the pinger.
+
+ \item[--service\_ping\_timeout {[time-in-ms]}] This is the time in milliseconds to wait for a
+ ping to the service. If the timer expires without a response the ping is ``failed''. After
+ a certain number of consecutive failed pings, the service is considered ``down.'' See
+ \hyperref[sec:service.pingers]{Service Pingers} for more details.
\item[--service\_request\_endpoint {[string]}] This specifies the expected service id. The string
must be in form {\tt queue:broker-url}. This must match the service ID that is derived from
@@ -171,30 +168,27 @@ UIMA-AS:[queue-name]:[broker-url]
by applications using the service API and CLI as a fail-fast if something is wrong with the
application.
- \item[--specifiecaiton {[file]}] All the parameters used to submit a job may be placed in a
- standard Java properties file. This file may then be used to submit the job (rather than
+ \item[--specifiecaiton {[file]}] All the parameters used to submit a service may be placed in a
+ standard Java properties file. This file may then be used to submit the service (rather than
providing all the parameters directory to submit).
For example,
\begin{verbatim}
-ducc_submit --specification job.props
+ducc_service_submit --specification svc.props
\end{verbatim}
- where the job.props contains:
+ where the svc.props contains:
\begin{verbatim}
-working_directory=/Users/challngr/projects/ducc/ducc_test/test/bin
-process_failures_limit=20
-driver_environment= DUCC_LD_LIBRARY_PATH=/a/other/bogus/path
-process_environment=AE_INIT_TIME=10000 DUCC_LD_LIBRARY_PATH=/a/bogus/path
-log_directory=/Users/challngr/ducc/logs/
-process_initialization_failures_cap=99
-process_descriptor_AE=org.apache.uima.ducc.test.randomsleep.FixedSleepAE
-process_classpath=/home/bob/projects/ducky-service.jar
-description=../simple/jobs/1.job[AE]
-process_jvm_args=-Xmx100M -DdefaultBrokerURL=tcp://localhost:61616
-scheduling_class=fixed
-process_memory_size=15
+process_environment = AE_INIT_TIME=5000 AE_INIT_RANGE=1000 INIT_ERROR=0
+description = Test Service 3
+process_jvm_args = -DdefaultBrokerURL=tcp://agent86:61616
+process_classpath = /home/bob/lib/app.jar
+process_memory_size = 15
+working_directory = /home/bob/services
+process_DD = /home/bob/services/service.xml
+scheduling_class = fixed
+service_dependency = UIMA-AS:FixedSleepAE_4:tcp://agent86:61616
\end{verbatim}
\item[--working\_directory {[directory-name]}]
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-services.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-services.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-services.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-services.tex Fri Jun 7 12:00:33 2013
@@ -9,17 +9,17 @@
\paragraph{Description:}
The ducc\_services CLI is used to manage service registration. It has a number of functions
- as listed below. Additionally the ducc\_services CLI wraps ducc\_service\_submit and
- ducc\_service\_cancel for convenience.
+ as listed below.
The functions include:
\begin{description}
- \item[Register] This registers a service with the Service Manager. A registered service is
+ \item[Register] This registers a service with the Service Manager by saving a service
+ specification in the Service Manager's registration area. The specification is
retained by DUCC until it is unregistered.
\item[Unregister] This unregisters a service with the Service Manager. When a service is
- unregistered DUCC optionally stops the service instance, if any, and discards all knowledge of
- it.
+ unregistered DUCC optionally stops the service instance, if any, and discard the
+ saved specification.
\item[Start] The start function instructs DUCC to alllocate resources for a service and to
start it in those resources. The service remains running until explictly stopped. DUCC
@@ -40,7 +40,7 @@
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-services.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-services {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_services {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-services.jar org.apache.uima.ducc.cli.DuccServiceApi {\em options}
\end{description}
@@ -54,142 +54,30 @@
\begin{description}
\item[--debug ]
Prints internal debugging information, intended for DUCC developers or extended problem determination.
- \item[--id {[jobid]}]
- The ID is the id of the job to cancel.
\item[--help]
Prints the usage text to the console.
\end{description}
\subsection{ducc\_services --register Options}
-
- The {\em register} function submits a service description to DUCC. DUCC stores this
+ \label{subsec:cli.ducc-services.register}
+ The {\em register} function submits a service specification to DUCC. DUCC stores this
information until it is {\em unregistered}. Once registered, a service may be
started, stopped, etc.
\begin{description}
- \item[--register] {[specification file] [options]}]
-
- The properties file is optional. It is a standard Java properties files containing all the
- registration options for the service. The override options are then applied to define the
- service (taking precedence). It is possible to register a service using just a properties file,
- just override options, or both.
-
- The properties in the properties file are identical to the command-line parameters, but with
- the leading "--" removed. In the example below, the properties file {\em service.reg} is used
- to register a service, with the number of instances specified as ``2''.
-\begin{verbatim}
-ducc_services --register service.reg --instances 2
-\end{verbatim}
-
-\begin{verbatim}
-process_environment = DUCC_LD_LIBRARY_PATH=/my/own/lib.so
-description = Test Service 0
-process_jvm_args = -Xmx100M -DdefaultBrokerURL=tcp://bluej291:61617
-process_classpath = ../../lib/ducc-test.jar
-process_memory_size = 15
-working_directory = /home/bob/service-descriptors
-process_DD = Service_FixedSleep_0.xml
-scheduling_class = fixed
-\end{verbatim}
-
- \item[--description {[text]}] The text is any string used to describe the job. It is
- displayed in the Web Server.
-
- \item[--instances {[number-of-instances]}] This defines the default number of service
- instances to start. If not specified, the default is
-
- \item[--jvm {[path-to-java]}] States the JVM to use. If not specified, the same JVM used by
- the Agents is used.
-
- \item[--log\_directory {[path-to-log directory]}] This specifies the path to the directory
- for the user logs. If not specified, the default is the user's home directory.
-
- Within this directory DUCC creates a subdirectory for each job, using the numerical
- ID of the job. The format of the generated log file names is descripbed in JRC-NEED-REFERENCE.
-
- \item[--process\_classpath {[ClASSPATH]}] This specifies the Java CLASSPATH to use in each
- Job Process (JP) and must be specified.
+ \item[--register {[specification file] [options]}] The specification file is optional. If
+ specified, it has the same contents as described for the \hyperref[sec:cli.service-submit]{{\em
+ ducc\_service\_submit}} command. As with {\em ducc\_service\_submit}, any of the
+ keywords in the specification may be overriden on the command line.
- \item[--process\_DD {[DD descriptor]}] This specifies a UIMA Deployment Descriptor (DD) for
- the service.
-
- \item[--process\_environment {[environment]}] This specifies environment parameters for the
- Job Processes. If present, they are added to the Job Process environment as the process is
- spawned. It must be a quoted, blankdelimeted lsit of name-value pairs. For example:
-\begin{verbatim}
-"--process_environment TERM=xterm DISPLAY=:1.0"
-\end{verbatim}
-
- \item[--process\_failures\_limit {[integer]}] This specifies the maximum number of individual
- Job Process (JP) failures that are to be tolerated before killing the job. The default is
- 15. If this limit is exceeded over the lifetime of a job DUCC terminates the entire job.
-
- \item[--process\_jvm\_args {[list]}] This specifies additinal arguments to be passed to the
- Job Process JVM. Example:
-
-\begin{verbatim}
---process_jvm_args -Xmx400M -Xms100M
-\end{verbatim}
-
- \item[--process\_memory\_size {[size]}] This specifies the maximum amount of RAM in GB to be
- allocated to each Job Process. This value is used by the Resource Manager to allocate
- resources. if this amount is exceeded by a Job Process the Agent terminates the process
- with a ShareSizeExceeded message.
-
- \item[--scheduling\_class {[classname]}] This specifies the name of the scheuling class the
- RM will use to determine the resource allocation for each process. The names of the classes
- are installation dependent.
-
- Note: Note that in general one should select a non-preemptable class such as
- fixed> or reserve for services. Otherwise DUCC may grow or shrink the number
- of processes used by the service. It IS legal and supported to use a fair-share class
- however.
-
- \item[--service\_ping\_classpath {[classpath]}] This specifies the classpath to be used when
- starting a user-supplied pinger. See JRC-NEED-REF {\em --service\_ping\_class}.
-
- \item[--service\_request\_endpoint {[CUSTOM:string]}] This provides the name of the endpoint
- to used for non-UIMA-AS services. The endpoint must start with the characters "CUSTOM:"
- followed by any unique string (with no embedded blanks).
- service. Example:
-\begin{verbatim}
---service_custom_endpoint CUSTOM:jrc.service.endpoint
-\end{verbatim}
-
- \item[--service\_ping\_jvm\_args {[list]}] This supplies extra arguments to the JVM for the
- CUSTOM ping object. Example:
-\begin{verbatim}
---service_custom_jvm_args -Xmx 400M -Xms100M
-\end{verbatim}
-
- \item[--service\_ping\_class {[java class]}] This supplies the java class name for a CUSTOM
- ping object. The class must the interface org.apache.uima.ducc.IServiceMeta as described in
- the API section. DUCC wraps the customer ping object in a management object with a "main"
- and calls the implemented interfaces periodically to insure the custom service is
- functioning, and to gather performance statistics.
-
- \item[{--service\_dependency[list]}]
- This specifies a
- comma-delimeted list of services the job processes are dependent upon (``independent''
- services), if any. For each independent service, the endpoint must be of the form
- UIMA-AS:queuename:broker-url or CUSTOM:string.
-
- In the example are two dependencies, a UIMA-AS service with endpoint RandomSleepAE and broker
- tcp:BobsGreatQueue:host1:61616, and the other with CUSTOM endpoint
- OtherEp:OtherHost:OtherPort.
-
-\begin{verbatim}
---service_dependency UIMA-AS:BobsGreatQueue:host1:61616 CUSTOM:OtherEp:OtherHost:OtherPort
-\end{verbatim}
+ \item[--autostart {[true or false]}] This indicates whether to register the service as
+ an autostarted service. If not specified, the default is {\em false}.
- \item[--service\_linger {[time in seconds]}] This specifies the time, in seconds, that a
- service should be kept alive after its last reference has exited, in anticipation of new work
- entering the system and using it. This is only applicable to services that are not
- automatically started at boot time.
+ \item[--instances {[n]}] This specifies the number of instances to start when the service
+ is started. If not specified, the default is 1.
- \item[--working\_directory {[directory]}] This specifies the working directory to be set by the
- Job Driver and Job Process processes. If not specified, the current directory is
- used.
+ \item[Other keywords] These are the same as described for \hyperref[sec:cli.service-submit]{{\em
+ ducc\_service\_submit}}
\end{description}
@@ -201,7 +89,7 @@ scheduling_class = fixed
number of running service instances if desired.
\begin{description}
- \item[--start {[service-id | endpoint]}] This indicates that a service is to be started. The service id
+ \item[--start {[service-id or endpoint]}] This indicates that a service is to be started. The service id
is either the numeric ID assigned by DUCC when the service is registered, or the service
endpoint string. Example:
\begin{verbatim}
@@ -209,36 +97,38 @@ ducc_services --start 23
ducc_services --start UIMA-AS:Service23:tcp://bob.com:12345
\end{verbatim}
- \item[--instances {[integer]}] This is the number of instances to start. If omitted, the
- registered number of instances is started. If the number is specified, the number is added
+ \item[--instances {[integer]}] This is the number of instances to start. If omitted, sufficient
+ instances to match the registered number are started. If more than the registered number of
+ instances is running this command has no effect.
+
+ If the number is specified, the number is added
to the currently number of running instances. Thus if five instances are running and
- ducc\_services --start 33 --instances 5 is issued, five more service instances ar started
- for service 33 for a totoal of ten. The registry is updated only if the --update option is
- also specified.
\begin{verbatim}
-Example:
-
+ ducc\_services --start 33 --instances 5\
+\end{verbatim}
+ is issued, five more service instances are started for service 33 for a totoal of ten,
+ regardless of the number specified in the registration. The registry is updatedo if the
+ {\em --update} option is also specified. Examples:
+\begin{verbatim}
ducc_services --start 23 --intances 5
-
-ducc_services --start UIMA-AS:Service23:tcp://bob.com:12345 \
---instances 3 --update
+ducc_services --start UIMA-AS:Service23:tcp://bob.com:12345 --instances 3 --update
\end{verbatim}
+
\item[--update]If specified, the registry is updated to the total number of started
instances. Example:
\begin{verbatim}
-ducc_services --start UIMA-AS:Service23:tcp://bob.com:12345 \
---instances 3 --update
+ducc_services --start UIMA-AS:Service23:tcp://bob.com:12345 --instances 3 --update
\end{verbatim}
\end{description}
\subsection{ducc\_services --stop Options}
The stop function instructs DUCC to stop some number of service instances. If no specific number
is specified, all instances are stopped. This is used only for registered services. Use
- ducc\_service\_cancel [34] to stop submitted services.
+ \hyperref[sec:cli.service-cancel]{{\em ducc\_service\_cancel}} command to stop submitted services.
\begin{description}
- \item[--stop {[service-id | endpoint]}] This specifies the service to be stopped. The service id
+ \item[--stop {[service-id or endpoint]}] This specifies the service to be stopped. The service id
is either the numeric ID assigned by DUCC when the service is registered, or the service
endpoint string. Example:
\begin{verbatim}
@@ -248,10 +138,15 @@ ducc_services --stop UIMA-AS:Service23:t
\item[--instances {[integer]}] This is the number of instances to stop. If omitted, all
instances for the service are stopped. If a number is specified, then only the specified
- number of instances are stopped. Thus if ten instances are running and ducc\_services --stop
- 33 --instances 5 is issued, five (randomly selected) service instances are stopped for
- service 33, leaving five running. The registry is updated only if the --update option is
- specified. The registered number of instances is never reduced to 0.
+ number of instances are stopped. Thus if ten instances are running for a service
+ with numeric id {\em 33} and
+\begin{verbatim}
+ducc_services --stop 33 --instances 5
+\end{verbatim}
+ is issued, five (randomly selected) service instances are stopped for
+ service 33, leaving five running. The registry is updated if the {\em --update} option is
+ specified. The registered number of instances is never reduced to 0 even if the number of
+ running instances is reduced to 0.
Example:
\begin{verbatim}
@@ -260,9 +155,7 @@ ducc_services --stop UIMA-AS:Service23:t
\end{verbatim}
\item[--update] If specified, the registry is updated to the total number of instances
- remaining, but is never reduced below 1.
-
- Example:
+ remaining, but is never reduced below 1. Example:
\begin{verbatim}
ducc_services --stop UIMA-AS:Service23:tcp://bob.com:12345 --instances 3 --update
\end{verbatim}
@@ -273,7 +166,7 @@ ducc_services --stop UIMA-AS:Service23:t
The modify function dynamically updates some of the attributes of a registered service.
\begin{description}
- \item[--modify {[service-id | endpoint]}] This identifies the service to modify. The service id is either
+ \item[--modify {[service-id or endpoint]}] This identifies the service to modify. The service id is either
the numeric ID assigned by DUCC when the service is registered, or the service endpoint
string. Example:
\begin{verbatim}
@@ -282,7 +175,7 @@ ducc_services --modify UIMA-AS:Service23
\end{verbatim}
\item[ --instances {[integer]}] This updates the number of services instances that are
- started when the service is started. Only the registration is updated. If the --activate
+ started when the service is started. Only the registration is updated. If the {\em --activate}
option is also specified, running instances are stopped or started as needed to match the
new number.
@@ -319,7 +212,7 @@ ducc_services --stop UIMA-AS:Service23:t
\begin{description}
- \item[--query {[service-id | endpoint]}] This indicates that a service is to be stopped. The
+ \item[--query {[service-id or endpoint]}] This indicates that a service is to be stopped. The
service id is either the numeric ID assigned by DUCC when the service is registered, or the
service endpoint string.
@@ -327,19 +220,19 @@ ducc_services --stop UIMA-AS:Service23:t
Below is a query against a system with three services.
- The service with endpoint UIMA-AS:FixedSleepAE\_6:tcp://bobmach291:61617 is a service
- submitted outside of DUCC so it is marked as Internal and has no implementing processes
+ The service with endpoint {\tt UIMA-AS:FixedSleepAE\_6:tcp://bobmach291:61617} is a service
+ submitted outside of DUCC so it is marked as Implicit and has no implementing processes
tha are known to DUCC. It is used by job 0 and is active, available, and being actively
pinged. The ActiveMq queue statistics are shown.
- The service with endpoint UIMA-AS:FixedSleepAE\_5:tcp://bobmach:61617 is a
+ The service with endpoint {\tt UIMA-AS:FixedSleepAE\_5:tcp://bobmach:61617} is a
registered service, whose registered numeric id is 2. It is registered for two instnaces and
no autostart. Since it is not autostarted, it will be terminated when it is no longer used. It
will linger for 5 seconds after the last referencing job completes, in case a subsequent job
that uses it enters the system (not a realistic linger time!). It is currently used (referenced)
by DUCC jobs 1 and 5.
- The service with endpoint UIMA-AS:FixedSleepAE\_1:tcp://bobmach:61617 is a
+ The service with endpoint {\tt UIMA-AS:FixedSleepAE\_1:tcp://bobmach:61617} is a
submitted service. It was submitted twice, and so has two implementors, DUCC service
jobs 0 and 1. It is referenced by job 7. It will continue to run until somebody cancels it,
even if it is not used.
@@ -355,8 +248,8 @@ Ping Active : true
Autostart : false
Manual Stop : false
Queue Statistics:
-Consum Prod Qsize minNQ maxNQ expCnt inFlgt DQ NQ Disp
-78 240 170 2 36414 0 0 636 806 636
+Consum Prod Qsize minNQ maxNQ expCnt inFlgt DQ NQ Disp
+ 78 240 170 2 36414 0 0 636 806 636
Service: UIMA-AS:FixedSleepAE_5:tcp://bobmach291:61617
Service Class : Registered as ID 2 instances[2] linger[5]
@@ -368,8 +261,8 @@ Ping Active : true
Autostart : false
Manual Stop : false
Queue Statistics:
-Consum Prod Qsize minNQ maxNQ expCnt inFlgt DQ NQ Disp
-52 44 0 0 3 0 0 402 402 402
+Consum Prod Qsize minNQ maxNQ expCnt inFlgt DQ NQ Disp
+ 52 44 0 0 3 0 0 402 402 402
Service: UIMA-AS:FixedSleepAE_1:tcp://bobmach291:61617
Service Class : Submitted
@@ -381,8 +274,8 @@ Ping Active : true
Autostart : false
Manual Stop : false
Queue Statistics:
-Consum Prod Qsize minNQ maxNQ expCnt inFlgt DQ NQ Disp
-52 0 0 1 1504371 0 0 35 35 35
+Consum Prod Qsize minNQ maxNQ expCnt inFlgt DQ NQ Disp
+ 52 0 0 1 1504371 0 0 35 35 35
\end{verbatim}
\end{description}
\paragraph{Notes:}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex Fri Jun 7 12:00:33 2013
@@ -15,7 +15,7 @@
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-submit.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-submit {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_submit {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-submit.jar org.apache.uima.ducc.cli.DuccJobSubmit {\em options}
\end{description}
@@ -122,7 +122,7 @@
LD\_LIBRARY\_PATH, after the JP or JD has assumed the user's identity. For
example:
\begin{verbatim}
-"--process\_environment TERM=xterm DISPLAY=:1.0 DUCC\_LD\_LIBRARY\_PATH=/my/own/path
+-environment TERM=xterm DISPLAY=:1.0 DUCC\_LD\_LIBRARY\_PATH=/my/own/path
\end{verbatim}
\item[--help ]
@@ -252,7 +252,7 @@
lsit of name-value pairs. For example:
\begin{verbatim}
-"--process\_environment TERM=xterm DISPLAY=:1.0"
+--process\_environment TERM=xterm DISPLAY=:1.0
\end{verbatim}
Note: On Secure Linux systems, the environemnt variable
@@ -263,7 +263,7 @@
example:
\begin{verbatim}
-"--process\_environment TERM=xterm DISPLAY=:1.0 DUCC\_LD\_LIBRARY\_PATH=/my/own/
+--process\_environment TERM=xterm DISPLAY=:1.0 DUCC\_LD\_LIBRARY\_PATH=/my/own/
\end{verbatim}
\item[--process\_failures\_limit {[integer]} ]
@@ -272,7 +272,7 @@
tolerated before killing the job. The default is 15. If this limit is exceeded over the lifetime
of a job DUCC terminates the entire job.
\begin{verbatim}
-"--process\_failures\_limit 23"
+--process\_failures\_limit 23
\end{verbatim}
\item[--process\_initialization\_failures\_cap {[integer]} ] This specifies the maximum
@@ -325,23 +325,14 @@
\begin{verbatim}
--schedling\_class normal
\end{verbatim}
-
- \item[{-service\_dependency[list]} ]
+
- This specifies a comma-delimeted list of services the job processes are dependent upon.
- Each endpoint must be of the form UIMA-AS:endpoint:broker\_url where endpoint is the
- UIMA-AS service endpoint and broker\_url is the ActiveMQ broker URL.
-
- In the example are two dependencies, one with endpoint RandomSleepAE and
- broker tcp:bluej682:61616, and the other with endpoint OtherEp and broker URL
- tcp:bluej123:123. Example:
- \begin{verbatim}
- --service\_dependency UIMA-AS:RandomSleepAE:tcp:bluej682:61616, \
-UIMA-AS:OtherEp:tcp:bluej123:123
- \end{verbatim}
-
- See \hyperref[chap:services]{Service Management} for a more detailed discussion
- of service dependencies.
+ \item[--service\_dependency{[list]}] This specifies a comma-delimeted list of services the job
+ processes are dependent upon. Service dependencies are discussed in detail
+ \hyperref[sec:service.endpoints]{here}. Example:
+\begin{verbatim}
+--service_dependency UIMA-AS:RandomSleepAE:tcp:bluej682:61616 UIMA-AS:OtherEp:tcp:bluej123:123
+\end{verbatim}
\item[--specifiecaiton {[file]} ]
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-unreserve.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-unreserve.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-unreserve.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-unreserve.tex Fri Jun 7 12:00:33 2013
@@ -3,7 +3,8 @@
\else
\HCode{<a name='DUCC_CLI_UNRESERVE'></a>}
\fi
- \section{ducc\_unresrve}
+ \section{ducc\_unreserve}
+ \label{sec:cli.unreserve}
\paragraph{Description:}
The unreserve CLI is used to release reserved resources.
@@ -11,7 +12,7 @@
\paragraph{Usage:}
\begin{description}
\item[Executable Jar] java -jar \ducchome/lib/uima-ducc-unreserve.jar {\em options}
- \item[Script wrapper] java -jar \ducchome/bin/ducc-unreserve {\em options}
+ \item[Script wrapper] \ducchome/bin/ducc\_unreserve {\em options}
\item[Java Main] java -cp \ducchome/lib/uima-ducc-unreserve.jar org.apache.uima.ducc.cli.DuccReservationCancel {\em options}
\end{description}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/ducc-api.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/ducc-api.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/ducc-api.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/ducc-api.tex Fri Jun 7 12:00:33 2013
@@ -14,9 +14,8 @@
Upon instantiation of an API object, the {\tt boolean execute()} method is called. This
method transmits the arguments to DUCC. If DUCC receives and accepts the args, the method
- return ``true'', otherwise it returns ``false. In the case of submission of work, methods
- are provided to fetch the unique Id assigned by DUCC. In the case of any failure, methods
- are provided to retrive messages from DUCC.
+ return ``true'', otherwise it returns ``false. Methods are provided to retrieve relevent
+ information when the {\tt execute()} returns such as IDs, messages, etc.
In the case of jobs and managed reservations, if the specification requested debug,
console attachment, or ``wait for completion'', the API provides methods to block
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/job-logs.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/job-logs.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/job-logs.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/job-logs.tex Fri Jun 7 12:00:33 2013
@@ -6,27 +6,25 @@
\chapter{Job Logs}
\label{chap:job-logs}
-The DUCC logs are managed by log4j and are configured using ducc\_runtime/log4j.xml. It
-is not in the scope of this document to describe log4j or its configuration mechanism. Details on
-log4j can be found at http://logging.apache.org/log4j/1.2/.
+The DUCC logs are managed by Apache log4j. The DUCC log4j configuration file is
+\duccruntime/log4j.xml. It is not in the scope of this document to describe log4j or its
+configuration mechanism. Details on log4j can be found at \url{http://logging.apache.org/log4j}.
The "user logs" are the Job Driver (JD) and Job Process (JP) logs. There is one log for each process
of a job. The JD log is divided between two physical files:
\begin{enumerate}
- \item The logs and stdout written by the UIMA collection reader. The collection reader uses the
- UIMA logger which is by default directed to stdout.
-
- \item The diagnostic logs written the the DUCC JD wrapper around the job's collection reader.
- This log is written using log4j.
+ \item Stdout and default UIMA logging output written by the UIMA collection reader.
+
+ \item The diagnostic logs written the the DUCC JD wrapper around the job's collection reader.
\end{enumerate}
-A number of other usefiles are written to the log directory:
+A number of other useful files are written to the log directory:
\begin{enumerate}
\item A properties file containing the full job specification for the job. This includes all the
- parameters specified by the user as well as the default parameters. This file is written to
- job-specification.properties.
+ parameters specified by the user as well as the default parameters. This file is called
+ {\tt job-specification.properties.}
\item The UIMA pipeline descriptor constructed by DUCC that describes the process that is
@@ -55,69 +53,62 @@ A number of other usefiles are written t
\item[PROCESS] This is the process id of the Job Driver (JD) process.
\end{description}
- \item A Java serialized object containing the performance breakdown for the job. This is used
- by the Web Server to display the breakdown. This file is written to job-performancesummary.ser.
+ \item A colllection of gzipped ``json'' files containing the performance breakdown of the job.
+ These can be read and formatted using \hyperref[sec:cli.ducc-perf-stats]{ducc\_perf\_stats.}
\end{enumerate}
- The JP logs are written by default to HOME/ducc/logs, where HOME is the submitting user's
- home directory. In this directory, a subdirectory whose name is the numerical id of the job is
- created by DUCC, where all logs for the job are written.
-
- The collection reader's log is written to the file HOME/ducc/logs/JOBID/jd.out.logvia log4j.
- It is written in multiple generations, and its size is governed by the same log4j configuration file
- used for the DUCC Daemon processes. The size of each generation and the number of generations
- is configured in the jdout appender stanza.
-
- Each JP log and the diagnostic JD log is of the following form:
-
+The Job Process logs are written to the configured log directory and are of the following form:
\begin{verbatim}
JOBID-TYPE-NODE-PROCESS.log
\end{verbatim}
-
- where
-
+where
\begin{description}
\item[JOBID] This is the numerical id of the job as assigned by DUCC.
\item[TYPE] This is either the string "UIMA" for JP logs, or "JD" for JD logs.
- \item[NODE] This is the name of the machine where the process runs.
- \item[PROCESS] This is the process id of the process on the indicated node.
+ \item[NODE] This is the name of the machine where the process ran.
+ \item[PROCESS] This is the Unix process id of the process on the indicated node.
\end{description}
This shows the contents a sample log directory for a small job that consisted of two processes.
\begin{verbatim}
- 100-JD-bluej290-1-29383.log
- 100-uima-ae-descriptor-29383.xml
- 100-uima-as-dd-29383.xml
- 100-UIMA-bluej290-2-32766.log
- 100-UIMA-bluej291-63-13594.log
- jd.out.log
- job-performance-summary.ser
- job-specification.properties
+ 100-JD-bluej290-1-29383.log
+ 100-uima-ae-descriptor-29383.xml
+ 100-uima-as-dd-29383.xml
+ 100-UIMA-bluej290-2-32766.log
+ 100-UIMA-bluej291-63-13594.log
+ jd.out.log
+ job-performance-summary.ser
+ job-specification.properties
\end{verbatim}
In this example,
\begin{itemize}
- \item[] The file 100-JD-bluej290-1-29383.log is the diagnostic JD log, where the JD executed on node
+ \item[] The file {\tt 100-JD-bluej290-1-29383.log} is the diagnostic JD log, where the JD executed on node
bluej290-1 in process 29383.
- \item[] The file 100-uima-ae-descriptor-29383.xml is the UIMA pipeline descriptor describing the
+ \item[] The file {\tt 100-uima-ae-descriptor-29383.xml} is the UIMA pipeline descriptor describing the
service process that is launched in each JP, where the JD process is 29383.
- \item[] The file 100-uima-as-dd-29383.xml is the UIMA-AS service descriptor where the client is
+ \item[] The file {\tt 100-uima-as-dd-29383.xml} is the UIMA-AS service descriptor where the client is
the JD process running in process 29383.
- \item[] The file 100-UIMA-bluej290-2-32766.log is a JP log for job 100, that ran on node
+ \item[] The file {\tt 100-UIMA-bluej290-2-32766.log} is a JP log for job 100, that ran on node
bluej290-2, in process 32766.
- \item[] The file 100-UIMA-bluej291-63-13594.log is a JP log for job 100, that ran on node
+ \item[] The file {\tt 100-UIMA-bluej291-63-13594.log} is a JP log for job 100, that ran on node
bluej291-63, in process 13594
- \item[] The file jd.out.log is the user's JD log, containing the user's collection reader output.
+ \item[] The file {\tt jd.out.log} is the user's JD log, containing the user's collection reader output.
+
+ \item[] These files are the performance summary files:
+\begin{verbatim}
+job-performance-summary.json.gz
+job-processes-data.json.gz
+job-specification.properties
+work-item-status.json.gz
+\end{verbatim}
- \item[] The file job-performance-summary.ser is the serialized performance breakdown that is
- displayed in the Web Server The file job-specification.propeties is the properties file
- describing the job.
\end{itemize}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/services.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/services.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/services.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/services.tex Fri Jun 7 12:00:33 2013
@@ -7,11 +7,12 @@
are usually managed by DUCC but need not be.
\item A sservice is accompanied by a small program called a ``pinger'' that
the DUCC Service Manager uses to guage the availability and health of the
- service. This process must always be supplied to DUCC.
+ service. This process must always be supplied to DUCC; however, DUCC will
+ supply a default pinger for UIMA-AS services.
\end{itemize}
A service is usually a UIMA-AS service, but DUCC supports any arbitrary process
- as a serive.
+ as a service.
The DUCC service manager implements several high-level functions:
@@ -28,6 +29,7 @@
\section{Service Types.}
+ \label{sec:services.types}
DUCC supports two types of services: UIMA-AS and CUSTOM:
\begin{description}
@@ -37,14 +39,14 @@
however.)
\item[CUSTOM] This is any arbitrary service. Developers must provide a CUSTOM pinger
- and declare it int he service registration.
+ and declare it in the service registration.
\end{description}
\section{Service References and Endpoints}
\label{sec:service.endpoints}
Services are referenced by an entity called a service
endpoint. The service endpoint is a formatted string used to uniquely identify each
- service, and to supply contact information to the pingers. A service endpoint
+ service and to supply contact information to the pingers. A service endpoint
is of the form
\begin{verbatim}
<service-type>:<unique id and contact information>
@@ -53,10 +55,10 @@
The {\em service-type} must be either UIMA-AS or CUSTOM.
The {\em unique id and contact information} is any string needed to insure the service is
- uniquely name. This string is passsed to the service pinger and must contain sufficient
+ uniquely named. This string is passsed to the service pinger and must contain sufficient
information for the pinger to contact the service. For UIMA-AS services, service endpoint is
- inferred by the CLI by inspection of the UIMA XML descriptor. For reference: the UIMA-AS
- service endpoint is of the form:
+ inferred by the CLI by inspection of the UIMA XML descriptor. The UIMA-AS
+ service endpoint is always of the form:
\begin{verbatim}
UIMA-AS:queue-name:broker-url
\end{verbatim}
@@ -66,22 +68,24 @@
Jobs or other services may register dependencies on specific services by listing one or more
service endpoints int their specifications. See the
\hyperref[sec:cli.ducc-submit]{\em job } and
- \hyperref[sec:cli.ducc-services]{\em services } CLIs for details.
+ \hyperref[sec:cli.ducc-services]{\em services } CLI descriptions for details.
\section{Service Classes.}
\label{sec:service.classes}
Services may be started externally to DUCC, explicitly through
DUCC as a job, or as registered services. It is also possible to register a ``ping-only''
- service that has no process managed by DUCC, consisting only of a pinger.
+ service that has no process managed by DUCC, consisting only of a pinger. To distiinguish
+ among the various behaviours and management mechanisms for service we define a number
+ of {\em service classes}.
\subsection{External Services.}
\label{sec:services.external}
- An external service is started externally to DUCC and discovered by DUCC only
- when it is referenced by a job's service-dependency parameter. On submission of a job with a
- dependency on an external service, the SM sets up a "ping" thread that check if the service
- exists at the endpoint. If so, the SM adds the service to its list of known services and marks
- the job "ready to schedule".
+ An external service is started externally to DUCC and discovered by DUCC only when it is
+ referenced by a job's {\em service\_dependency} parameter. On
+ submission of a job with a dependency on an external service, the SM sets up a "ping" thread
+ that check if the service exists at the endpoint. If so, the SM adds the service to its list
+ of known services and marks the job "ready to schedule".
When jobs referencing external services exit, a timer is set and DUCC continues to monitor the
service against the possibility that subsequent jobs will need it. Once the last job using the
@@ -104,10 +108,12 @@
\subsection{Submitted Services.} A \hyperref[sec:cli.service-submit]{submitted service} is a
- service that is submitted to DUCC as a with the service submission CLI. Both UIMA-AS and
+ service that is submitted to DUCC as a with the ducc\_service\_submit CLI. Both UIMA-AS and
CUSTOM services may be submitted for execution by DUCC. Because DUCC is managing this service
it can provide more support than for external services. However, DUCC does not persist the
- service definition, and when the service exits, it is not restarted.
+ service definition. If a submitted service exits involuntarily (crashes), DUCC will make
+ some number of attempts to restart it. If the configured restart count is exceeded DUCC
+ will stop the service.
A submitted service is intended for short-term services, and for easy debugging of services.
To persist a service over system restarts and other failures, services should be registered.
@@ -122,7 +128,7 @@
\item[Autostarted Services] An autostarted service is a registered service that is flagged to be
automatically started when the DUCC system is started. When DUCC is started, the SM checks the
service registry for all service that are marked for automatic startup. If flagged for autostart,
- the DUCC Service Manager submits a (registered) numuber of instanced of the registered service
+ the DUCC Service Manager submits the registered numuber of instances
on behalf of the registering user. If an instance should die, DUCC automaticlly restarts
the instance. Short of massive failures, DUCC will insure the service is always running
and immediately ready for use.
@@ -134,10 +140,10 @@
if a matching service is found, DUCC startes it. When the service has completed
initialization a pinger is started and all jobs waiting on it are then started.
- When the last job/service that references the on-demand service exits, a timer is
+ When the last job or service that references the on-demand service exits, a timer is
established to keep the service alive for a while (in anticipation that it will be needed
again soon.) When the keep-alive timer exipires, and there are no more dependent
- jobs/services, the on-demand service is automatically stopped to free up its resources for
+ jobs or services, the on-demand service is automatically stopped to free up its resources for
other work.
\item[External Services] \hyperref[sec:services.external]{External services} consist of only
@@ -152,27 +158,29 @@
A service pinger is a small program that queries a service on behalf of the
DUCC Service Manager to:
\begin{itemize}
- \item Report on the availiability of the service: does it respond to requests?
- \item Report on the healh of the service: is it overload, is it repsonding
- adequiately, etc.
+ \item Report on the availiability of the service, and
+ \item Report on the healh of the service.
\end{itemize}
Service pingers are always written in Java and must implement an abstract class,
- {\tt org.apache.uima.ducc.common.AServicePing}. When a service is deployed by
+\begin{verbatim}
+ org.apache.uima.ducc.common.AServicePing
+\end{verbatim}
+ When a service is deployed by
DUCC, the Service Manager spawns a DUCC process that instantiates the pinger for
the service. On a regular basis, the Service Manager sends a request to the pinger
to query the service health.
\subsection{Declaring a Pinger in A Service}
- If your service is a UIMA-AS service, there is no need to create or declare a pinger. DUCC
+ If your service is a UIMA-AS service, there is no need to create or declare a pinger as DUCC
provides a default pinger. If a CUSTOM pinger is required, it must be declared in the service
descriptor, and the service must be registered. See
\hyperref[sec:cli.ducc-services]{ducc\_services} for details on service registration spcifying
ping directives.
\subsection{Implementing a Pinger}
- Pingers must implement the class {\tt org.apache.uima.ducc.common.AServicePing}. The class
+ Pingers must implement the class {\tt org.apache.uima.ducc.common.AServicePing}. The abstract class
is shown below.
\begin{figure}[H]
\begin{verbatim}
@@ -233,8 +241,13 @@ public abstract class AServicePing
A sample CUSTOM pinger is shown below. The pinger assumes a simple
service port that, on connection, returns an integer. If the connect and read of the integer succeds,
- the ping is marked successful.
-
+ the ping is marked successful. This assumes the service endpoint is of the form
+\begin{verbatim}
+ CUSTOM:hostname:port
+\end{verbatim}
+ where ``hostname'' is the name of a host where the custom service is running, and ``port'' is
+ a TCP/IP port the service uses to respond to pings.
+
\begin{figure}[H]
\begin{verbatim}
import java.io.DataInputStream;
@@ -285,20 +298,23 @@ public class CustomPing
\end{figure}
\subsection{Building And Testing Your Pinger}
-
- One DUCC jar is required in the classpath to build your pinger:
+ This section provides the information needed to use the pinger API and build a
+ custom pinger.
+
+ \paragraph{Establish compile classpath} One DUCC jar is required in the classpath to build your pinger:
\begin{verbatim}
uima-ducc-common.jar
\end{verbatim}
This provides the definition for the {\em AServicePing} and {\em ServiceStatistics} classes.
- Next, create a service registration for the pinger. While debugging, set the directive
+ \paragraph{Create a resistration}Next, create a service registration for the pinger. While
+ debugging, set the directive
\begin{verbatim}
-service_ping_dolog = true
+ service_ping_dolog = true
\end{verbatim}
- This will log any output from {\tt System.out.println()} to your home directory:
+ This will log any output from {\tt System.out.println()} to your home directory in
\begin{verbatim}
-$HOME/ducc/logs/services
+ $HOME/ducc/logs/services
\end{verbatim}
Once the pinger is debugged you may want to turn logging off:
@@ -308,18 +324,18 @@ service_ping_dolog = false
A sample service registration may look something like the following:
\begin{verbatim}
-bash-3.2$ cat myping.svc
+ bash-3.2$ cat myping.svc
-description = Ping-only service
-service_request_endpoint=CUSTOM:localhost:7175
-service_ping_class=CustomPing
-service_ping_classpath=/myhome/CustomPing.class:/home/ducc/ducc_runtime/lib/uima_ducc_common.jar
-service_ping_dolog=true
-service_ping_timeout=500
-scheduling_class = fixed
+ description = Ping-only service
+ service_request_endpoint = CUSTOM:localhost:7175
+ service_ping_class = CustomPing
+ service_ping_classpath = /myhome/CustomPing.class:/home/ducc/ducc_runtime/lib/uima_ducc_common.jar
+ service_ping_dolog = true
+ service_ping_timeout = 500
+ scheduling_class = fixed
\end{verbatim}
-
- Start up your custom service so the pinger has something to connect to, and then start
+
+ \paragraph{Register and start the pinger} Start up your custom service so the pinger has something to connect to, and then start
the pinger. It may be easier to debug the pinger if you start the service outside of DUCC. Once
the pinger is working it is straighforward to integrate it into the pinger's service registration.
\begin{verbatim}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver.tex?rev=1490601&r1=1490600&r2=1490601&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/webserver.tex Fri Jun 7 12:00:33 2013
@@ -37,9 +37,11 @@
\item Logout - Terminate the Web Server session
\end{itemize}
-
+ \item[Preferences]
+ Set preferences for table style, date style, filters, etc.
+
\item[DuccBook] \hfill \\
- This is a link to the HTML version of the documnet you are reading.
+ This is a link to the HTML version of the document you are reading.
\item[Jobs] \hfill \\
This navigates to the Jobs page, showing all the jobs in the system.
@@ -83,3 +85,17 @@
\HCode{<a name='DUCC_WS_RESERVATIONS'></a>}
\fi
\input{part2/webserver/reservations.tex}
+
+ % Create well-known link to this spot for HTML version
+ \ifpdf
+ \else
+ \HCode{<a name='DUCC_WS_SERVICES'></a>}
+ \fi
+ \input{part2/webserver/services.tex}
+
+ % Create well-known link to this spot for HTML version
+ \ifpdf
+ \else
+ \HCode{<a name='DUCC_WS_SYSTEM></a>}
+ \fi
+ \input{part2/webserver/system.tex}