Horizontal Navigation Bar |
---|
Button Group |
---|
Button Hyperlink |
---|
title | Previous |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Load+the+file |
---|
|
Button Hyperlink |
---|
title | Up |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Tutorial |
---|
|
Button Hyperlink |
---|
title | Next |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Checking+the+results |
---|
|
|
|
The ecflow_start.sh script will automatically set up and start your ecflow_server.
If you started an ecFlow manually then your server will start in a halted state.
In this case, you will have to “restart” your server before you can use it.
In a halted state the server will not schedule any tasks.
Text
To check the status of the server, type the following at the UNIX prompt:
Code Block |
---|
|
ecflow_client --stats |
Examine the output. If the ecflow_server is halted you would restart with:
Code Block |
---|
|
ecflow_client --restart |
Once the ecflow_server is running you have to start the suite by typing:
Code Block |
---|
|
ecflow_client --begin=test |
Python
Modify your client.py file and then run it.
Code Block |
---|
language | py |
---|
title | $HOME/course/client.py |
---|
|
import ecflow
try:
ci = ecflow.Client()
ci.sync_local() # get the defs from the server, and place on ci
defs = ci.get_defs() # retrieve the defs from ci
if len(defs) == 0:
print("No suites in server, loading defs from disk")
ci.load("test.def")
print("Restarting the server. This starts job scheduling")
ci.restart_server()
else:
print("read definition from disk and replace on the server")
ci.replace("/test", "test.def")
print("Begin the suite named 'test'")
ci.begin_suite("test")
except RuntimeError as e:
print("Failed:", e) |
What to do
- Restart the ecflow_server
- Begin the suite, python3 client.py
Horizontal Navigation Bar |
---|
Button Group |
---|
Button Hyperlink |
---|
title | Previous |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Load+the+file |
---|
|
Button Hyperlink |
---|
title | Up |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Tutorial |
---|
|
Button Hyperlink |
---|
title | Next |
---|
type | standard |
---|
url | https://confluence.ecmwf.int/display/ECFLOW/Checking+the+results |
---|
|
|
|
HTML |
---|
<div class="section" id="starting-the-suite">
<span id="starting-suite"></span><span id="index-0"></span>
<p>The <strong>ecf_start</strong> script will automatically set up and start your <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-server"><em class="xref std std-term">ecf_server</em></a>.</p>
<p>If you started an ecFlow manually then your server will start in a <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-halted"><em class="xref std std-term">halted</em></a> state.</p>
<p>In this case you you will have to “restart” your server before you can use it.</p>
<p>In a <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-halted"><em class="xref std std-term">halted</em></a> state the server will not schedule any tasks.</p>
<p>To check the status of the server, type the following at the unix prompt:</p>
<div class="highlight-python"><pre>> ecf_client --stats</pre>
</div>
<p>Examine the output. If the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-server"><em class="xref std std-term">ecf_server</em></a> is <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-halted"><em class="xref std std-term">halted</em></a> you would restart with:</p>
<div class="highlight-python"><pre>> ecf_client --restart</pre>
</div>
<p>Once the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-server"><em class="xref std std-term">ecf_server</em></a> is <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-running"><em class="xref std std-term">running</em></a> you have to start the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite"><em class="xref std std-term">suite</em></a> by typing:</p>
<div class="highlight-python"><pre>> ecf_client --begin test</pre>
</div>
<p>Restarting and begin’ing the suite can also be done with the <a class="reference internal" href="/wiki/display/ECFLOW/ecFlow+Python+Api#python-api"><em>ecFlow Python Api</em></a></p>
<div class="highlight-python"><div class="highlight"><pre><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="c"># Uses localhost:3141 by default</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">ci</span><span class="o">.</span><span class="n">restart_server</span><span class="p">()</span>
<span class="n">ci</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">defs</span><span class="p">)</span>
<span class="n">ci</span><span class="o">.</span><span class="n">begin_suite</span><span class="p">(</span><span class="s">"test"</span><span class="p">)</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">"failed: "</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>
<p>What to do:</p>
<ol class="arabic simple">
<li>Restart the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecf-server"><em class="xref std std-term">ecf_server</em></a></li>
<li>Begin the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite"><em class="xref std std-term">suite</em></a></li>
</ol>
</div>
|