From effc1c9ae6bb8d0fee35a349f140aaf3e040155f Mon Sep 17 00:00:00 2001 From: james-strauss-uwa Date: Fri, 11 Feb 2022 12:30:21 +0800 Subject: [PATCH] Improved text for the input_error_threshold param --- daliuge-engine/dlg/apps/archiving.py | 4 +- daliuge-engine/dlg/apps/bash_shell_app.py | 4 +- daliuge-engine/dlg/apps/crc.py | 4 +- daliuge-engine/dlg/apps/dockerapp.py | 4 +- daliuge-engine/dlg/apps/dynlib.py | 4 +- daliuge-engine/dlg/apps/mpi.py | 4 +- daliuge-engine/dlg/apps/plasma.py | 16 ++++---- daliuge-engine/dlg/apps/pyfunc.py | 4 +- daliuge-engine/dlg/apps/scp.py | 4 +- daliuge-engine/dlg/apps/simple.py | 44 +++++++++++----------- daliuge-engine/dlg/apps/socket_listener.py | 4 +- daliuge-engine/dlg/drop.py | 4 +- 12 files changed, 50 insertions(+), 50 deletions(-) diff --git a/daliuge-engine/dlg/apps/archiving.py b/daliuge-engine/dlg/apps/archiving.py index 186cb1741..694dc5c64 100644 --- a/daliuge-engine/dlg/apps/archiving.py +++ b/daliuge-engine/dlg/apps/archiving.py @@ -90,8 +90,8 @@ def store(self, inputDrop): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] aparam/ngasSrv NGAS Server URL/localhost/String/readwrite/False/ diff --git a/daliuge-engine/dlg/apps/bash_shell_app.py b/daliuge-engine/dlg/apps/bash_shell_app.py index 1784e72d1..29d224079 100644 --- a/daliuge-engine/dlg/apps/bash_shell_app.py +++ b/daliuge-engine/dlg/apps/bash_shell_app.py @@ -349,8 +349,8 @@ def execute(self, data): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @par EAGLE_END diff --git a/daliuge-engine/dlg/apps/crc.py b/daliuge-engine/dlg/apps/crc.py index 34f44d69a..dd696b73e 100644 --- a/daliuge-engine/dlg/apps/crc.py +++ b/daliuge-engine/dlg/apps/crc.py @@ -87,8 +87,8 @@ def run(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[out] port/data Data/String/ diff --git a/daliuge-engine/dlg/apps/dockerapp.py b/daliuge-engine/dlg/apps/dockerapp.py index 6a3684d31..44838fa21 100644 --- a/daliuge-engine/dlg/apps/dockerapp.py +++ b/daliuge-engine/dlg/apps/dockerapp.py @@ -100,8 +100,8 @@ def waitForIp(self, timeout=None): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] cparam/user User//String/readwrite/False/ diff --git a/daliuge-engine/dlg/apps/dynlib.py b/daliuge-engine/dlg/apps/dynlib.py index 64273ea31..9706df837 100644 --- a/daliuge-engine/dlg/apps/dynlib.py +++ b/daliuge-engine/dlg/apps/dynlib.py @@ -362,8 +362,8 @@ def addStreamingInput(self, streamingInputDrop, back=True): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @par EAGLE_END diff --git a/daliuge-engine/dlg/apps/mpi.py b/daliuge-engine/dlg/apps/mpi.py index a54a0d3d7..a28f5b262 100644 --- a/daliuge-engine/dlg/apps/mpi.py +++ b/daliuge-engine/dlg/apps/mpi.py @@ -58,8 +58,8 @@ # \~English Number of cores used # @param[in] cparam/group_end Group end/False/Boolean/readwrite/False/ # \~English Is this node the end of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @par EAGLE_END diff --git a/daliuge-engine/dlg/apps/plasma.py b/daliuge-engine/dlg/apps/plasma.py index 3f66c86dd..ef91bf6aa 100644 --- a/daliuge-engine/dlg/apps/plasma.py +++ b/daliuge-engine/dlg/apps/plasma.py @@ -59,8 +59,8 @@ # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] port/plasma_ms_input Plasma MS Input/Measurement Set/ @@ -157,8 +157,8 @@ def dropCompleted(self, uid, drop_state): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] port/input_file Input File/File/ @@ -234,8 +234,8 @@ def run(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] port/plasma_ms_input Plasma MS Input/Measurement Set/ @@ -307,8 +307,8 @@ def run(self, **kwargs): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] port/input_ms Input MS/Measurement Set/ diff --git a/daliuge-engine/dlg/apps/pyfunc.py b/daliuge-engine/dlg/apps/pyfunc.py index e67300481..b65958f02 100644 --- a/daliuge-engine/dlg/apps/pyfunc.py +++ b/daliuge-engine/dlg/apps/pyfunc.py @@ -116,8 +116,8 @@ def import_using_code(code): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] aparam/func_name Function Name//String/readwrite/False/ diff --git a/daliuge-engine/dlg/apps/scp.py b/daliuge-engine/dlg/apps/scp.py index d9a70c8c9..243759c1e 100644 --- a/daliuge-engine/dlg/apps/scp.py +++ b/daliuge-engine/dlg/apps/scp.py @@ -54,8 +54,8 @@ # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] aparam/remoteUser Remote User//String/readwrite/False/ diff --git a/daliuge-engine/dlg/apps/simple.py b/daliuge-engine/dlg/apps/simple.py index 8063912ae..b986a0dac 100644 --- a/daliuge-engine/dlg/apps/simple.py +++ b/daliuge-engine/dlg/apps/simple.py @@ -79,8 +79,8 @@ def run(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @par EAGLE_END @@ -123,8 +123,8 @@ def run(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @par EAGLE_END @@ -176,8 +176,8 @@ def copyRecursive(self, inputDrop): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @par EAGLE_END @@ -214,8 +214,8 @@ def run(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[out] port/array Array/Array/ @@ -298,8 +298,8 @@ def _getArray(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] port/array Array/array/ @@ -390,8 +390,8 @@ def averageArray(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] cparam/function Function/sum/String/readwrite/False/ @@ -494,8 +494,8 @@ def combine_inputs(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[out] port/hello Hello/String/ @@ -557,8 +557,8 @@ def run(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[out] port/content Content/String/ @@ -617,8 +617,8 @@ def run(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[out] port/array Array/Array/ @@ -686,8 +686,8 @@ def run(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] aparam/scatter_axes Scatter Axes//String/readwrite/False/ @@ -775,8 +775,8 @@ def condition(self): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[out] port/array Array/array/ diff --git a/daliuge-engine/dlg/apps/socket_listener.py b/daliuge-engine/dlg/apps/socket_listener.py index 7f4bf7f08..f08d9f187 100644 --- a/daliuge-engine/dlg/apps/socket_listener.py +++ b/daliuge-engine/dlg/apps/socket_listener.py @@ -65,8 +65,8 @@ # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @param[in] aparam/host Host/127.0.0.1/String/readwrite/False/ diff --git a/daliuge-engine/dlg/drop.py b/daliuge-engine/dlg/drop.py index 85422d859..61b763756 100644 --- a/daliuge-engine/dlg/drop.py +++ b/daliuge-engine/dlg/drop.py @@ -2676,8 +2676,8 @@ def initialize(self, **kwargs): # \~English Number of cores used # @param[in] cparam/group_start Group start/False/Boolean/readwrite/False/ # \~English Is this node the start of a group? -# @param[in] cparam/input_error_threshold "Input error threshold (0 and 100)"/0/Integer/readwrite/False/ -# \~English Indicates the tolerance to erroneous effective inputs, and after which the application will not be run but moved to the ERROR state +# @param[in] cparam/input_error_threshold "Input error rate (%)"/0/Integer/readwrite/False/ +# \~English the allowed failure rate of the inputs (in percent), before this component goes to ERROR state and is not executed # @param[in] cparam/n_tries Number of tries/1/Integer/readwrite/False/ # \~English Specifies the number of times the 'run' method will be executed before finally giving up # @par EAGLE_END