Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
HTML
<div class="section" id="checking-the-results">
<span id="index-0"></span><span id="id1"></span>
<p>Let us now see how our suite ran, type the following:</p>
<div class="highlight-python"><pre>&gt; ecflow_client --get_state</pre>
</div>
<div class="line-block">
<div class="line">This command will retrieve the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite-definition"><em class="xref std std-term">suite definition</em></a> from the server,</div>
<div class="line">and show the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-status"><em class="xref std std-term">status</em></a> for each <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-node"><em class="xref std std-term">node</em></a>.</div>
</div>
<div class="line-block">
<div class="line">Look at the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-task"><em class="xref std std-term">task</em></a> <strong>t1</strong> if it is <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-complete"><em class="xref std std-term">complete</em></a> and the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite"><em class="xref std std-term">suite</em></a> is <em>complete</em></div>
<div class="line">then the run was successful.</div>
</div>
<div class="line-block">
<div class="line">If this is not the case, and you might see <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-aborted"><em class="xref std std-term">aborted</em></a>.</div>
<div class="line">Please check the location (directory) of your <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-script"><em class="xref std std-term">ecf script</em></a> before referring</div>
<div class="line">to your instructor.</div>
</div>
<div class="line-block">
<div class="line">The <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-job-file"><em class="xref std std-term">job file</em></a> created by the server is located in the same directory as the</div>
<div class="line"><a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-script"><em class="xref std std-term">ecf script</em></a>, and is named <em>t1.job1</em>.</div>
<div class="line">Compare the files <tt class="file docutils literal"><span class="pre">t1.ecf</span></tt>, <tt class="file docutils literal"><span class="pre">head.h</span></tt>, <tt class="file docutils literal"><span class="pre">tail.h</span></tt> and <tt class="file docutils literal"><span class="pre">t1.job1</span></tt>.</div>
</div>
<div class="line-block">
<div class="line">The <strong>output</strong> of the job is located in the same directory as the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-script"><em class="xref std std-term">ecf script</em></a>,</div>
<div class="line">and is named <tt class="file docutils literal"><span class="pre">t1.1</span></tt>.</div>
</div>
<div class="section" id="retrieving-the-suite-definition">
<h2>Retrieving the suite definition<a class="headerlink" href="#retrieving-the-suite-definition" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">To retrieve the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite-definition"><em class="xref std std-term">suite definition</em></a> in a form that is parse-able, type:</p>
<div class="highlight-python"><pre>&gt; ecflow_client --get</pre>
</div>
<p>This can be done in a python script:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="c">#!/usr/bin/env python2.7</span>
<span class="kn">import</span> <span class="nn">ecflow</span>
<span class="k">try</span><span class="p">:</span>
   <span class="n">ci</span> <span class="o">=</span> <span class="n">ecflow</span><span class="o">.</span><span class="n">Client</span><span class="p">()</span>
   <span class="n">ci</span><span class="o">.</span><span class="n">sync_local</span><span class="p">()</span>                                   <span class="c"># get server definition, by sync with client defs</span>
   <span class="n">ecflow</span><span class="o">.</span><span class="n">PrintStyle</span><span class="o">.</span><span class="n">set_style</span><span class="p">(</span> <span class="n">ecflow</span><span class="o">.</span><span class="n">Style</span><span class="o">.</span><span class="n">DEFS</span> <span class="p">)</span>  <span class="c"># set printing to show structure</span>
   <span class="k">print</span> <span class="n">ci</span><span class="o">.</span><span class="n">get_defs</span><span class="p">()</span>                               <span class="c"># print the returned suite definition</span>
<span class="k">except</span> <span class="ne">RuntimeError</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span>
   <span class="k">print</span> <span class="s">&quot;Failed: &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
</pre></div>
</div>
</li>
<li><p class="first">To retrieve the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite-definition"><em class="xref std std-term">suite definition</em></a> and show state:</p>
<div class="highlight-python"><pre>&gt; ecflow_client --get_state</pre>
</div>
<p>In python this would be:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="c">#!/usr/bin/env python2.7</span>
<span class="kn">import</span> <span class="nn">ecflow</span>
<span class="k">try</span><span class="p">:</span>
   <span class="n">ci</span> <span class="o">=</span> <span class="n">ecflow</span><span class="o">.</span><span class="n">Client</span><span class="p">()</span>
   <span class="n">ci</span><span class="o">.</span><span class="n">sync_local</span><span class="p">()</span>                                   <span class="c"># retrieve server definition, by sync with client defs</span>
   <span class="n">ecflow</span><span class="o">.</span><span class="n">PrintStyle</span><span class="o">.</span><span class="n">set_style</span><span class="p">(</span> <span class="n">ecflow</span><span class="o">.</span><span class="n">Style</span><span class="o">.</span><span class="n">STATE</span> <span class="p">)</span> <span class="c"># set printing to show structure and state</span>
   <span class="k">print</span> <span class="n">ci</span><span class="o">.</span><span class="n">get_defs</span><span class="p">()</span>                               <span class="c"># print the returned suite definition</span>
<span class="k">except</span> <span class="ne">RuntimeError</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span>
   <span class="k">print</span> <span class="s">&quot;Failed: &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
</pre></div>
</div>
</li>
<li><p class="first">To list just the node paths and states in python please see: <a class="reference internal" href="/wiki/display/ECFLOW/How+can+I+access+the+path+and+task+states#print-all-states"><em>How can I access the path and task states ?</em></a></p>
</li>
</ul>
<p><strong>What to do:</strong></p>
<ol class="arabic simple">
<li>Locate the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-job-file"><em class="xref std std-term">job file</em></a> and the output file</li>
<li>Check results by retrieving the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite-definition"><em class="xref std std-term">suite definition</em></a> from the server</li>
</ol>
</div>
</div>