Page History
HTML |
---|
<div class="section" id="getting-started"> <span id="index-0"></span><span id="id1"></span> <ul> <li><p >Create<p>Create a directory called course in your home directory (mkdir course)</p> <div class="line-block"> <div class="line">In order to use ecFlow we first need to start the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecflow-server"><em class="xref std std-term">ecflow_server</em></a></div> </div> <div class="line-block"> <div class="line">Depending on your machine choose between the two methods below to start</div> <div class="line">the server.</li> <li><p /div> </div> <div class="section" id="shared-machine"> <h2>Shared Machine<a class="headerlink" href="#shared-machine" title="Permalink to this headline">¶</a></h2> <div class="line-block"> <div class="line">Open a new window, change the current directory to course (cd course) and start an <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecfecflow-server"><em >ecf class="xref std std-term">ecflow_server</em></a>: If</div> <div class="line">If you are using a shared machine then type:type</div> </p>div> <div class="highlight-python"><pre>> ecf_start.sh</pre> </div> <p>This<div class="line-block"> <div class="line">This will start an <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecfecflow-server"><em >ecfclass="xref std std-term">ecflow_server</em></a> running on your system with a port number unique to your user ID. ECF</div> <div class="line">ECF log files and check point files are created in the current directory by default.</p> <p>Pleasediv> </div> <div class="line-block"> <div class="line">Please keep a note of the <strong>Host</strong> and <strong>Port</strong> given from your ecf_start.sh output for later.</div> Note that the default for ECF log files is the <tt ><span >~/ecf_server</span></tt> directory. The <div class="line">The host and programport number uniquely identify your ECF server. When</div> <div class="line">When you want to access this server with <a class="reference internal" href="/wiki/display/ECFLOW/ecFlow+Python+Api#python-api"><em>ecFlow Python Api</em></a> or <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecflowview"><em >ecFlowview<class="xref std std-term">ecflowview</em></a> you need to know these numbers. By</div> <div class="line">By setting the value of the environment variablevariables ECF_NODE and ECF_PORT you identify the server you wish to access. Multiple</div> <div class="line">Multiple <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecfecflow-server"><em >ecfclass="xref std std-term">ecflow_server</em></a>‘s can run on the same system.</div> </div> </p>/div> <div class="section" id="local-machine"> <h2>Local Machine<a class="headerlink" href="#local-machine" title="Permalink to this headline">¶</a></h2> <p>Alternatively if you are running on your own local machine type:<type</p> <div class="highlight-python"><pre>> ecfecflow_server</pre> </div> <p>at the unix prompt.</p> <p>This <div class="line-block"> <div class="line">This will start an <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecfecflow-server"><em >ecf class="xref std std-term">ecflow_server</em></a> running on your system with a default host name of “localhost” and portand</div> <div class="line">port number of 3141. If another program on your machine is using this port number, then you will get anget</div> <div class="line">an “Address in use” error. To</div> <div class="line">To start the server on a specific port number you can use:</p>div> </div> <div class="highlight-python"><pre>> ecfecflow_server --port=3500</pre> </div> <p>or<<p>or:</p> <div class="highlight-python"><pre>> export ECF_PORT=3500; ecfecflow_server</pre> </div> <p>ECF<div class="line-block"> <div class="line">ECF log files and <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-check point-point"><em class="xref std std-term">check point</em></a> files are created in the current directory by default, and have ahave</div> <div class="line">a prefix <machine_name>.<port_number>. As this allows multiple servers to run on the same machine.</p>div> </li> <li><p div> <div class="line-block"> <div class="line">If you had previously run the same ECF server in the past it will also attempt to recover from a previous ecf checkpoint file if available</p> </li> <li><p >In another window, change the current directory to course and copy the file <a hrefclass="#head-h"><em>head.h</em></a> and <a href="#tail-h"><em>tail.h</em></a> into it.</p> </li> </ul> <div id="head-h"> <span id="id2"></span><h2>head.h<a href="#head-h" title="Permalink to this headline">¶</a></h2> <div ><pre>#!/bin/ksh set -e # stop the shell on first error set -u # fail when using an undefined variable set -x # echo script lines as they are executed # Defines the variables that are needed for any communication with ECF export ECF_PORT=%ECF_PORT% # The server port number export ECF_NODE=%ECF_NODE% # The name of ecf host that issued this task export ECF_NAME=%ECF_NAME% # The name of this current task export ECF_PASS=%ECF_PASS% # A unique password export ECF_TRYNO=%ECF_TRYNO% # Current try number of the task export ECF_RID=$$ # Tell ecFlow we have stated ecf_client --init=$$ # Defined a error hanlder ERROR() { set +e # Clear -e flag, so we don't fail ecf_client --abort=trap # Notify ecFlow that something went wrong, using 'trap' as the reason trap 0 # Remove the trap exit 0 # End the script } # Trap any calls to exit and errors caught by the -e flag trap ERROR 0 # Trap any signal that may cause the script to fail trap '{ echo "Killed by a signal"; ERROR ; }' 1 2 3 4 5 6 7 8 10 12 13 15</pre> reference internal" href="/wiki/display/ECFLOW/Glossary#term-suite-definition"><em class="xref std std-term">suite definition</em></a></div> <div class="line">from the <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-check-point"><em class="xref std std-term">check point</em></a> file.</div> </div> <div<p>What id="tail-h"> <span id="id3"></span><h2>tail.h<a href="#tail-h" title="Permalink to this headline">¶</a></h2> <div ><pre>ecf_client --complete # Notify ecFlow of a normal end trap 0 # Remove all traps exit 0 # End the shell</pre> </div>to do:</p> <ul class="simple"> <li>Start the server</li> </ul> </div> </div> |