Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
HTML

<div class="section" id="child-commands-comparison">
<span id="child-commands"></span><span id="index-0"></span>
<p>SMS child commands are not binary compatible with ecFlow. The
following table relates a sms command, provided with SMS package, and
the matching ecflow client call.</p>
<p>Some sms child commands (meter, event) have a query option. ecFlow
relies on the job using &#8216;ecflow_client &#8211;get &lt;path&gt;&#8217; to obtain the
same information:</p>
<table border="1" class="docutils">
<colgroup>
<col width="29%" />
<col width="31%" />
<col width="40%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">SMS commands</th>
<th class="head">ecflow equivalent</th>
<th class="head">comment</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>sms</td>
<td>ecflow_server</td>
<td>sms -b: detach the server from session
nohup ecflow_server &gt; out 2&gt;&amp;1 &amp;:</td>
</tr>
<tr class="row-odd"><td>smsabort</td>
<td>ecflow_client &#8211;abort &lt;reason&gt;</td>
<td>&nbsp;</td>
</tr>
<tr class="row-even"><td>smsalive</td>
<td>&lt;none&gt;</td>
<td>task heart-bit,
not used at the centre</td>
</tr>
<tr class="row-odd"><td>smscompletre</td>
<td>ecflow_client &#8211;complete</td>
<td>&nbsp;</td>
</tr>
<tr class="row-even"><td>smsdate</td>
<td>&lt;none&gt;</td>
<td>not a child command -
date manipulation utility,
not part of ecflow</td>
</tr>
<tr class="row-odd"><td>smsdie</td>
<td>&lt;none&gt;</td>
<td>clean RPC port
not needed with ecflow</td>
</tr>
<tr class="row-even"><td>smsevent &lt;name&gt;</td>
<td>ecflow_client &#8211;event &lt;name&gt;</td>
<td>&nbsp;</td>
</tr>
<tr class="row-odd"><td>smsinit $PID</td>
<td>ecflow_client &#8211;init &lt;rid&gt;</td>
<td>restricted to integer for SMS
(use smsrid for string)</td>
</tr>
<tr class="row-even"><td>smslabel &lt;name&gt; &lt;string&gt;</td>
<td>ecflow_client &#8211;label &lt;n&gt; &lt;s&gt;</td>
<td>&nbsp;</td>
</tr>
<tr class="row-odd"><td>smsmeter &lt;name&gt; &lt;step&gt;</td>
<td>ecflow_client &#8211;meter &lt;n&gt; &lt;s&gt;</td>
<td>&nbsp;</td>
</tr>
<tr class="row-even"><td>smsmsg &lt;string tokens&gt;</td>
<td>ecflow_client &#8211;msg &lt;string&gt;</td>
<td>&nbsp;</td>
</tr>
<tr class="row-odd"><td>smsping</td>
<td>ecflow_client &#8211;ping</td>
<td>&nbsp;</td>
</tr>
<tr class="row-even"><td>smsrand</td>
<td>&lt;none&gt;</td>
<td>not a child command, used to
introduce random task runtime,
in test mode, for sms</td>
</tr>
<tr class="row-odd"><td>smsrid &lt;string&gt;</td>
<td>&lt;none&gt;</td>
<td>ecflow_client &#8211;init
is used with string job id</td>
</tr>
<tr class="row-even"><td>smsstatus &lt;node path&gt;</td>
<td>&lt;none&gt;</td>
<td>ecflow_client &#8211;get &lt;path&gt;
can be used to get node state</td>
</tr>
<tr class="row-odd"><td>smsvariable &lt;string&gt; &lt;value&gt;</td>
<td>&lt;none&gt;</td>
<td>variable is only updated by SMS,
not created, and it must belong
to the node
ecflow_client &#8211;get &lt;path&gt; can be
used to get variable value,
create or update any variable</td>
</tr>
<tr class="row-even"><td>smswait &lt;trigger expression&gt;</td>
<td>ecflow_client &#8211;wait &lt;string&gt;</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<p>sms expects string tokens, builds up the related tree, checks its value on the server,</p>
<p>ecflow expect one string containing the trigger expression to check</p>
<p>In order to migrate tasks, and keep the ability for them to
communicate with the server in charge, SMS or ecflow, child commands
were replaced with ksh functions,</p>
<p>to call the right child according to the variable ECF_PORT set to 0
(sms case) or not (originated from ecflow server).</p>
</div>