Mserver

From MidasWiki
Revision as of 20:01, 15 February 2014 by Pierre (talk | contribs)
Jump to navigation Jump to search

The MIDAS remote server (mserver) provides remote access to any MIDAS client.

It is needed when one or more of an experiment's MIDAS clients are running on a different host. In this case, a mserver client must be started on the host where the experiment resides (see example).


The mserver utility usually runs in the background and doesn't need to be modified. In the case where debugging is required, the mserver can be started with the -d flag which will write an entry for each transaction to a log file /tmp/mserver.log . The log entry contains the time stamp and RPC call request.

More than one copy of mserver can be started on a system, provided they use different tcp ports. This is useful if, for example, different experiments are in use on a single host at the same time. To start a version of mserver on a different port, use the -p argument, e.g.

mserver -p XXXX -D
mserver -p 7071 -D -a localhost -a node01 -a node02 -a node03

To connect a client to this version of mserver, use the format "hostname:port", e.g.

# frontend started from client node
fe_test -h node01:7071 -e test
# 
#
# frontend started from the backend node00 
ssh -n node01 /home/expt/online/fe_test.exe -h node00:7071 -e test -i 0 -D

Starting mserver

   Arguments
       [-h ] : help
       [-s ] : Single process server
       [-t ] : Multi thread server
       [-m ] : Multi process server (default)
       [-p ] : Port number; listen for connections on non-default tcp port
       [-d ] : Write debug info to /tmp/mserver.log
       [-D ] : Become a Daemon
   Usage
     >mserver -D

Example

If an mserver client is not running on host dasdevpc2, then an attempt to run a client on dasdevpc2 from a remote computer (isdaq01) will result in an error message:

[bnmr@isdaq01 ~/online]$ odb -e t2kgas -h dasdevpc2
Cannot connect to remote host

If a mserver client is now started on host dasdevpc2,

[suz@dasdevpc2 ~]$ mserver -D
mserver started interactively
Becoming a daemon...

Now one can connect to the remote experiment :

[bnmr@isdaq01 ~/online]$ odb -e t2kgas -h dasdevpc2
[dasdevpc2:t2kgas:S]/>quit