You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

In the future there will be a Web UI interface for querying the status of the translator jobs and submitting new translation requests. Until future becomes a reality (and maybe after that) we provide a set of command-line tools for this tasks.

Account Setup

The tools are now part of the standard off-line releases (but not analysis releases) starting with release 0.2.9. To make the tools from release available one has to set the environment. This is done by executing a single command from the shell:

(ba)sh: . /reg/g/psdm/etc/sit_env.sh
(t)csh: source /reg/g/psdm/etc/sit_env.csh

or adding one of these commands to the user login script (.bashrc or .login).

If user environment is already setup for analysis releases following the Analysis Workbook procedure then one can switch to using regular off-line release with command:

sit_setup current

The commands described below could be run from any machine which has access to off-line releases (directory /reg/g/psdm).

Checking status of translator system

One can check the sate of the various parts of the translation system using the command:

ic-ws-status -s

Which should produce output like:

    ID  Host                              Status    Time                    PID
-------------------------------------------------------------------------------
   155  psdev.slac.stanford.edu           Stopped   2010-06-28 10:37:29    6855
   160  psanamvr101.slac.stanford.edu     Stopped   2010-07-14 18:03:02    5271
   163  psanamvr102.slac.stanford.edu     Running   2010-07-15 12:15:04   27900

Normally the hosts psanamvr101 and psanamvr102 should be in a running state. If all hosts are stopped then the translation will not happen.

Checking status of translation

To see the list of runs and their translation status one have to pass two parameters to ic-ws-status command – instrument name and experiment name. Here is example of the command and its output:

% ic-ws-status AMO amo14410
   Run  Status                 ReqID  Prio  Req Time             Files
  ----------------------------------------------------------------------------
     1  Translation_Error       8543     0  2010-06-07 08:04:23  /reg/d/psdm/AMO/amo14410/xtc/e23-r0001-s01-c00.xtc
                                                                 /reg/d/psdm/AMO/amo14410/xtc/e23-r0001-s00-c00.xtc
     2  Complete                8545     0  2010-06-07 09:27:02  /reg/d/psdm/AMO/amo14410/xtc/e23-r0002-s00-c00.xtc
                                                                 /reg/d/psdm/AMO/amo14410/xtc/e23-r0002-s01-c00.xtc
     3  Complete                8546     0  2010-06-07 09:27:02  /reg/d/psdm/AMO/amo14410/xtc/e23-r0003-s01-c00.xtc

The output shows the run number, status of the translation process, request ID, request time and list of XTC files. Probably the most important here is the status column which can display one of the following values:

  • Initial_Entry – New request, waiting for translation, file list will be empty.
  • Waiting_Translation – New request, waiting for translation, file list will be non-empty.
  • Empty_Fileset – No XTC files have been found for the run.
  • H5Dir_Error – Failure to create temporary directory for output files.
  • Being_Translated – Translator process is running.
  • Translation_Error – Translation process failed, usually means input data is bad or repeated attempt to translate run which has been translated already.
  • Archive_Error – Translation finished, but HDF5 files could not be copied to destination directory.
  • Complete – Successfully translated.

Translating new runs

Important: before submitting translation request for a new run one has to make sure that all XTC files from that run have been copied to off-line data space at /reg/d/psdm/...

One more command ic-ws-translate sends requests to the system to translate data for the new runs. It takes three parameters:

  1. Instrument name
  2. Experiment name
  3. List of runs

List of runs is defined as a comma-separated list of run ranges. Run range is defined as a single run number or two run number separated by dash. To make it simple here are examples of the valid lists of runs:

  • 1 – single run #1
  • 1,2,3,4,5 – five runs from #1 to #5
  • 1-5 – same as above
  • 1-5,8,11-15,18 – twelve runs: #1 to #5, #8, #11 to #15, and #18

Here is an example of submitting request for translation of several runs:

% ic-ws-translate AMO amo14410 105-108
Run 105 OK (id=8919, prio=0)
Run 106 OK (id=8920, prio=0)
Run 107 OK (id=8921, prio=0)
Run 108 OK (id=8922, prio=0)

For every submitted request it will print one-line summary. If there is an error which happened during submission the error message will be printed for that run like in this example:

% ic-ws-translate AMO amo14410 108-110
Run 108 failed: fileset already exists: instr=AMO exper=amo14410 run=108
Run 109 OK (id=8927, prio=0)
Run 110 OK (id=8928, prio=0)

In this case the script also returns non-zero return code to the shell which can be checked.

Right after successful submission the status of the new request becomes Initial_Entry and will have empty file list. It's only when translation process start the file list will be populated with the files from the corresponding run.

By default ic-ws-translate command does not allow repeated translation requests for the same run. Sometimes one needs to correct an error in the previous translation attempt after fixing the origin of the problem (like waiting until files have been copied). In this case -r option allows to re-submit the request:

% ic-ws-translate -r AMO amo14410 108
Run 108 OK (id=8931, prio=1)

One can also specify request priority when submitting translation requests using -w option:

% ic-ws-translate -w 10 AMO amo14410 109
Run 109 OK (id=8932, prio=10)

Requests with higher priorities will be scheduled for translation sooner than lower priority requests. Default priority value is 0.

  • No labels